Sonos Alternative - Multiroom Audio

Hallo zusammen!

Ich habe für mich die perfekte Sonos Alternative gefunden - https://www.arylic.com/
Die Arylic Verstärker gibt es zu moderaten Preisen (auch bei Amazon), haben einen guten Klang, eine Api für IP- Symcon und es gibt eine App für IOS und Android ( leider bis jetzt nur im Hochformat).
Ich habe mehrere dieser Player ( A30, A50, S10 und DIY Boards) im Einsatz und via PHP Scripte an Symcon recht simpel angebunden.
Leider bin ich kein großer Programmierer, deshalb gibts noch kein Modul :joy::joy::grimacing:.
Vielleicht sucht ja der eine oder andre mal eine leistbare Alternative zu Sonos, deshalb mein Post hier :blush::blush:

Lg Chris

2 „Gefällt mir“

Hallo Chris,
ich suche ebenfalls nach einer alternative. Hörten sich sehr interessant an die Arylic Produkte. Vom Preis her wirklich interessant.
Was seuerst du alles mit deinem PHP Script?
Könntest du dieses bitte hier einstellen?
Vorab vielen Dank!
Vg Thomas

Hallo!
Hier mal eine Übersicht über die Variablen und Scripte:

Die API ist recht einfach und hier zu finden:
https://developer.arylic.com/httpapi/#http-api

lg Chris

Ok, danke!
Ich habe mir jetzt den Arylic S10 Streamer bestellt.
Könntest du mir vielleicht ein paar deiner Scripte zusenden. Würde mir Recherche ersparen :slight_smile:
Die wichtigsten Befehle zumindest (Play, Pause, Volume…).
Vorab vielen Dank!

Hallo zusammen,

ich habe jetzt hier auch so ein Ding liegen, Up2Stream Amp 2.0 v4.
Macht einen guten Job und wartet auf den Einbau im Badezimmer …

Die Steuerung per API ist ja tatsächlich recht easy.

<?php
$ip="192.168.0.211";
Sys_GetURLContent("http://$ip//httpapi.asp?command=setPlayerCmd:play:http://wdr-1live-live.icecast.wdr.de/wdr/1live/live/mp3/128/stream.mp3");

… spielt 1Live ab. Die anderen Kommandos sind ja prima der API-Dokumentation zu entnehmen. (ggf. sollte man vorher noch auf WIFI schalten und ggf. auch eine überschaubare Lautstärke setzen …)

Ich frage mich nun - bin halt kein PHP-Crack:
Wie kann ich die Variablen, die getPlayerStatus und getStatusEx ausgeben, in Symcon-Variablen speichern, um sie zu visualisieren?
Und muss ich die in Symcon alle von Hand anlegen, oder kann ich das per Script erledigen lassen?

Vom Design her: würdet ihr pro Kommando ein Script anlegen, oder macht man besser ein Steuerungsscript und übergibt den Befehl bei Aufruf („arylic.php Badezimmer play 1live“)?

Was ich in der API nicht gefunden habe, ist 1.) auf die Favoriten zuzugreifen oder 2.) auf Spotify/Deezer als Input zu schalten. Das scheint eine Unter-Quelle von WIFI zu sein, wenn ich das richtig sehe.

Viele Grüße
Karsten

Programmkonzept: Ein Script mit ein paar Funktionen z.B. „parseRespsonse“ und „generateRequest“ erstellen. Dieses Script dann per Include in jedem Sub-Programm aufrufen. Bzw. würde ich nur ein einziges ActionScript schreiben und über switch($_IPS[‚VARIABLE‘]) zwischen den Variablen unterscheiden. Ich habe etwas ähnliches für Mopidy (Musikplayer per websocket) geschrieben. Das könnte ich dir als Beispiel zur Verfügung stellen.

Oh, das wäre cool, gerne! Das klingt auch für mich nach einem besseren Konzept, als zig Einzelskripte zu erstellen.
Es wundert mich zwar, dass sich zu den Stichworten Arylic/Up2Stream/Linkplay hier im Forum bisher nichts findet, aber ich denke, alles, was wir hier dazu zusammenstellen, ist auch für andere nützlich. (Oder alle finden das so trivial, dass keiner fragt :wink:)

Hallo!
Zugriff auf Favoriten habe ich so gelöst:

$content = Sys_GetURLContent(„http://$IP_Adresse/httpapi.asp?command=MCUKeyShortClick:3“);

für Favorit 3

Mit dem Device Monitor Modul frage ich den Online Status des Players ab.
Die Variablen hole ich mir so (sicher nicht die schönste Variante aber es klappt gut :wink: ):

<?php

error_reporting(0);

$Player_online 					=        GetValue(54615);
$IP_Adresse 					=        GetValue(40125);

$Zonenname				        =       40835;

$Ein_Aus				        =       31385;
$Title					        =       38183;
$Artist					        =       35302;
$Album					        =       10624;
$Volume					        =       14348;
$Mute					        =       17787;
$IUri					        =       32083;
$Uri					        =       34741;


if ($Player_online == true)
{


//device imformation
//http://192.168.100.109/httpapi.asp?command=getStatusEx
$content = Sys_GetURLContent("http://$IP_Adresse/httpapi.asp?command=getStatusEx");
$json = json_decode($content);

//print_r($json);

//Zonenname
//echo ($json->DeviceName);
SetValue($Zonenname, $json->DeviceName);


//playback state
//http://192.168.100.109/httpapi.asp?command=getPlayerStatus
$content = Sys_GetURLContent("http://$IP_Adresse/httpapi.asp?command=getPlayerStatus");
$json = json_decode($content);

//print_r($json);

//Status
//echo ($json->status);
if((($json->status) == "play") or (($json->status) == "load"))
    {
    SetValue($Ein_Aus, true);
    }
else
    {
    SetValue($Ein_Aus, false);
    }


//Title
//echo ($json->Title);
//echo hexToStr($json->Title);
SetValue($Title, hexToStr($json->Title));


//Artist
//echo ($json->Artist);
//echo hexToStr($json->Artist);
SetValue($Artist, hexToStr($json->Artist));


//Album
//echo ($json->Album);
//echo hexToStr($json->Album);
SetValue($Album, hexToStr($json->Album));


//Volume
//echo ($json->vol);
SetValue($Volume, $json->vol);


//Mute
//echo ($json->mute);
SetValue($Mute, $json->mute);


//iuri
//echo ($json->iuri);
//echo hexToStr($json->iuri);
SetValue($IUri, hexToStr($json->iuri));


//uri
//echo ($json->uri);
//echo hexToStr($json->uri);
SetValue($Uri, hexToStr($json->uri));

}

function hexToStr($hex)
{
    $string='';
    for ($i=0; $i < strlen($hex)-1; $i+=2){
        $string .= chr(hexdec($hex[$i].$hex[$i+1]));
    }
    return $string;
 }

Vielleicht schreibt ja mal wer ein Modul dazu, mir fehlt hierzu leider ein wenig die Zeit und das Wissen dazu :smirk:

lg Chris

1 „Gefällt mir“

ach, cool, so einfach ist das mit den Favoriten … danke! Dann fehlt mir ja nur noch das Tablet mit Halterung an der Wand neben den Lichtschaltern. :smiley:
Leider kann ich das erst in einigen Tagen testen - jetzt steht erstmal Badsanieren an und der Player ist für ein paar Tage eingemottet.

Hallo Zusammen,
wie schon oben geschrieben habe ich mir den Arylic S10 Streamer bestellt.
Ich möchte euch nach gut einer Woche Testphase meine Meinung nicht vorenthalten.
Das gerät hält voll was es verspricht. Die Bedienung egal ob per App oder API Befehl ist flüss und funktioniert ohne Probleme. Keine Aufhänger oder unterbrechungen der Streams.
Das ist nicht bei allen Geräten so. Habe da auch schon negative Erfahrung mit anderen Herstellern gemacht.
Die Doku für die API Befehle ist umfangreich und auch für Laien gut verständlich. Mit Beispielen die auf Anhieb klappen.
Rundum bin ich voll zufrieden mit dem Gerät und würde es mir jederzeit wieder kaufen.
Was noch super wäre, wenn es hierzu ein IPS Modul gäbe. Ich bin da zu wenig Experte und bastle mir die Befehle einfach nach meinen Bedürfnissen zusammen. Vielleicht nimmt sich ja jemand drum an, denn die Arylic Geräte wären es allemahl Wert!
Vg Thomas

1 „Gefällt mir“

Dieser Beitrag wurde von der Community gemeldet und ist vorübergehend ausgeblendet.