NEWS
[Develop] Onkyo Adapter - VIS Weiterentwicklung
-
@stefanholub
Hi. Bitte kontrolliere mal, ob du auch einen Preset definiert hast!?
Du musst auf der Webseite vom Onkyo für die Streaming Stationen die Presets anlegen.
Kannst du die Presets mit der Fernbedienung anwählen? Was zeigt der Fernseher an?
Ich mach mal ein Bild von meinen Presets, sobald ich dazukomme.
Gruß Eisbaeeer -
Hallo zusammen
@stefanholub Kann es sein, dass du den "alten" Adapter verwendet? Der Screenshot sieht mir ziemlich danach aus.
Der offizielle Adapter wurde von mir komplett überarbeitet und ersetzt den onkyo-vis.
Der offizielle Adapter unterstützt nämlich auch materials.
Bitte installiert den Adapter "Onkyo Pioneer EISCP - VIS".
Leider müsst ihr dann Eure VIS Objekte neu zuordnen, da sich die Adapter Struktur auch komplett verändert hat.
Das war nötig, um materials sauber zu unterstützen.
Im neuen Adapter sind auch Cover Art´s mit unterstützt und vieles mehr. Es lohnt sich also auf den neuen zu wechseln.
Grüße Eisbaeeer -
@Eisbaeeer
Danke zunächst mal für deine Unterstützung.
habe nun den Adapter gewechselt (hatte diesen davor auch schon verwendet)
Am Receiver unter Net -> TuneIn -> Presets sind 5 Stationen angelegt.
Leider habe ich das gleiche Ergebnis:
Power, TunePreset, Volume funktionieren, Leider keine NetRadioPresetsGruß aus Wien
StefanAh... weis jetzt was du meinst mit Internetradio über Webeinstellung - ich glaube, das kann der TX-NR656 nicht (auch trotz firmware-upgrade)
hast Du vielleicht eine Alternative mit TuneIn oder mit AirPlay wiedergabe oder ähnliches?
Stefan
-
@stefanholub
Das ist schlecht
Ich meine genau diese Einstellung hier, sonst klappt das mit den Presets nicht.
Wie werden dann deine Presets abgespeichert?
Eventuell kannst du dann über einen RAW Befehl den Sender setzen.
Steht in der Bedienungsanleitung noch irgend etwas bezüglich Presets?
Gruß Eisbaeeer -
@Eisbaeeer
Zunächst mal ein ganz grosses Dankeschön an Sigi und Dich für Eure Unterstützung!!!ich habe nur 2 Einstellmöglichkeiten im Web-Setup:
- Device Information
- Network Settings
Presets kann ich hier gar nicht speichern.
Ich habe diese in der Onkyo App unter
Net -> TuneIn -> Presets (kann leider keinen Screenshot machen) gespeichert.Gibt es da für den TX-NR656 vielleicht einen Hack zu den Web-Presets kommen oder besser: kann man über den Adapter - wie bei der App - auch auf diese Einstellungen zugreifen?
Wie mache ich das über die RAW Befehle?
Gruß aus Wien
Stefan -
Hallo, vielleicht kannst du es über HTTP Befehle umsetzen. Bei meinen Yamaha mache ich es teilweise auch so.
Gibt es eine API von deinen Gerät?Beispiel zum wechseln der Preset in Netradio:
http://192.168.178.25/YamahaExtendedControl/v1/netusb/recallPreset?zone=main&num=5
Die Internetsender schalte ich mit den Musiccast Adapter, oder via Http.....
Die Radiosender gehen wieder über den Yamaha Adapter, das sie einen direkten Datenpunkt haben.
-
Im schlechtesten Fall kannst du versuchen, über den RAW Befehl den Onkyo zu steuern. Der RAW sendet den tatsächlichen Befehl, wie er in der Excel drin steht. Falls er dann nicht reagiert, bleibt nur, den Onkyo Support zu kontaktieren. Eventuell findet sich auch jemand mit deinem Modell, der hier Antwort geben kann?
Gruß Eisbaeeer -
Hallo,
ich bin die letzten Tage auf dasselbe Problem mit dem NR686 gestoßen. Leider unsterstütze er die Presets nicht. Allerdings habe ich einen Workaround mit Blocky generiert welchen ich gerne mit euch teilen will.Hierzu habe ich 3 Variablen generiert. Eine fungiert als Trigger, die nächste definiert den gewünschten Speicherplatz auf der Preset Liste und eine weitere wird als Variable zum Status der durchgelaufenen Navigationssequenz verwendet.
Und hier noch als Export:
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="undefined" id="timeout5">timeout5</variable> <variable type="undefined" id="Intervall2">Intervall2</variable> </variables> <block type="on" id="nubwvF`Pdt2P+)+]/Z[v" x="-3337" y="-1562"> <field name="OID">javascript.0.scriptEnabled.common.Onkyo.TriggerInternetRadiosender</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="control" id="#A,rfHW54$l{6]6ECI0:"> <mutation delay_input="true"></mutation> <field name="OID">javascript.0.scriptEnabled.common.Onkyo.SequenzVariable</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">100</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="math_number" id="ta.D:8jvHc[`[p*sSGsZ"> <field name="NUM">1</field> </block> </value> <next> <block type="controls_if" id="PjeeG/nv8xn?eM#Fu5~I"> <value name="IF0"> <block type="logic_compare" id="/{najt=8P?9uBcP87b7S"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="yFZ)ZVCa$6`v=d$pC-vI"> <field name="ATTR">val</field> <field name="OID">onkyo.0.Zone1.Power</field> </block> </value> <value name="B"> <block type="logic_boolean" id="J;kx;j}M$9oEInKsM[}}"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="I)F=YeON/}[C^mi3B={8"> <mutation delay_input="false"></mutation> <field name="OID">onkyo.0.Zone1.InputSelect</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="]Rrnt0O*qX/)FI7oSX[,"> <field name="TEXT">2B</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="qBDdm7Am1T[Jf:u6;V~7"> <value name="IF0"> <block type="logic_compare" id="Zzdblfpw7g%d(t-VE9x8"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="SRG(@/dbbqm%*o~Nhmcg"> <field name="ATTR">val</field> <field name="OID">onkyo.0.Zone2.Power</field> </block> </value> <value name="B"> <block type="logic_boolean" id="L9i-L?.twrm+d`C2^zF]"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="5)V5.7T@k-pcX.9vM?pL"> <mutation delay_input="false"></mutation> <field name="OID">onkyo.0.Zone2.InputSelect</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="R9X?rO6^+|m+0Wis75.~"> <field name="TEXT">2B</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="5cnG,)!]n5O;EEE8sYWV"> <value name="IF0"> <block type="logic_operation" id="c)XMO5MgkO4^Au44#UH)" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="!;|-+25kcx!-K@+kEK60"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="8UI3;]ef7_kuFG~,Aat1"> <field name="ATTR">val</field> <field name="OID">onkyo.0.Zone1.Power</field> </block> </value> <value name="B"> <block type="logic_boolean" id="9TRCRV(l:YkZ_3`A6L/f"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="DKW7dO=)n~hhfmWIRxq^"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="7fvNAl@Gg5uVdeBT[tt*"> <field name="ATTR">val</field> <field name="OID">onkyo.0.Zone2.Power</field> </block> </value> <value name="B"> <block type="logic_boolean" id="PlTg~vS6KD*|hVffplw{"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="qt_;)5RAqh@Vr.l}JxI4"> <mutation delay_input="true"></mutation> <field name="OID">javascript.0.scriptEnabled.common.Onkyo.SequenzVariable</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">100</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="math_number" id="~jBI#raP.+EV]#6/-S9M"> <field name="NUM">0</field> </block> </value> <next> <block type="timeouts_clearinterval" id="W8;;g$_xnyN8,sA4VtG3"> <field name="NAME">Intervall2</field> <next> <block type="timeouts_cleartimeout" id="cLt_Hp~7W.-,,R(6[`|0"> <field name="NAME">timeout5</field> </block> </next> </block> </next> </block> </statement> <next> <block type="update" id="L`K-@vK]V,u[=A9qM]!."> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.scriptEnabled.common.Onkyo.SequenzVariable</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="wVvI4cVYqlOVJ9K4=63x"> <field name="NUM">0</field> </block> </value> <next> <block type="timeouts_settimeout" id="V2D*ueMxr2_Ttm*Keq_7"> <field name="NAME">timeout5</field> <field name="DELAY">10</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="debug" id="~:d]cQ,`mx.;%SJ}-F58"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="_PZ2z,2d-QNu~U=Yj}2b"> <field name="TEXT">Timeout</field> </shadow> </value> <next> <block type="timeouts_clearinterval" id="TK+f^1,nW5*l?BORYZxf"> <field name="NAME">Intervall2</field> </block> </next> </block> </statement> <next> <block type="timeouts_setinterval" id="}-Ukm6/G|}t~6EOnRp=M"> <field name="NAME">Intervall2</field> <field name="INTERVAL">500</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="controls_if" id="#0i`~yqb6i8CJCt0+B16"> <value name="IF0"> <block type="logic_operation" id="kDkA%Meo}8U!E0z}Dj1J" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="tdZ/w{4p{e!ncPDpHFQ)"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="1p6/zK;*6{=?;QQCUxRh"> <field name="ATTR">val</field> <field name="OID">javascript.0.scriptEnabled.common.Onkyo.SequenzVariable</field> </block> </value> <value name="B"> <block type="math_number" id="ABvD.~0KhoCHt,W*d0nr"> <field name="NUM">1</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="|LQOtrq^Xfi0hvU`mqv$"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="8c2Nw:nr(~23*?=*Z6@J"> <field name="ATTR">val</field> <field name="OID">onkyo.0.Device.Navigation</field> </block> </value> <value name="B"> <block type="text" id="vQ_;zQpEgq5k=q/4kh3!"> <field name="TEXT">NET</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="m=0~Gvwzs?oM}JVT#[Sr"> <mutation delay_input="true"></mutation> <field name="OID">javascript.0.scriptEnabled.common.Onkyo.SequenzVariable</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">100</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="math_number" id="rcHs]YHQXE!=,@ih6(F2"> <field name="NUM">2</field> </block> </value> <next> <block type="control" id="Aum@=ce`c[6`!8nW?rM*"> <mutation delay_input="false"></mutation> <field name="OID">onkyo.0.Device.MediaSelect</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="V}cet-;Z+JRN#e/:4Vo8"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </statement> <next> <block type="controls_if" id="Xx=5{DoDx4kQ$O3k[/W*"> <value name="IF0"> <block type="logic_operation" id="T;^m;_DKx-p}YnT|@z/!" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="LR_MxF:.o(PH;U0l!vW/"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="V;E6wX$:5)3s(Q[uMqN2"> <field name="ATTR">val</field> <field name="OID">javascript.0.scriptEnabled.common.Onkyo.SequenzVariable</field> </block> </value> <value name="B"> <block type="math_number" id="T-^efncgKHJ]ZCNANlNq"> <field name="NUM">2</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="q}u{{x4$.XG{%K{=5ys0"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="+(TEIEQI+5QebzGt0spv"> <field name="ATTR">val</field> <field name="OID">onkyo.0.Device.Navigation</field> </block> </value> <value name="B"> <block type="text" id="gDR/70-/i?q9I5RF6(*:"> <field name="TEXT">TuneIn Radio</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="IZ90j5[@xf.Yl)1j$}(F"> <mutation delay_input="false"></mutation> <field name="OID">onkyo.0.Device.MediaSelect</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="fUaM?XV^b`=ptLnE+%P,"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="control" id="GxIrgADAO@[SxPvvKfy4"> <mutation delay_input="true"></mutation> <field name="OID">javascript.0.scriptEnabled.common.Onkyo.SequenzVariable</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">100</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="math_number" id="y[VF1;?a)24vof}D8pG)"> <field name="NUM">3</field> </block> </value> </block> </next> </block> </statement> <next> <block type="controls_if" id="H^xB%7mvn~Q%#aPik/vp"> <value name="IF0"> <block type="logic_operation" id="uP^}xkB1#orTjM@FBV]@" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="h9jcLPvFsGCWp/NeR|@["> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="L^*fB0]H*rQgYEp6b5Lt"> <field name="ATTR">val</field> <field name="OID">javascript.0.scriptEnabled.common.Onkyo.SequenzVariable</field> </block> </value> <value name="B"> <block type="math_number" id="J:6n}oj%6}R{VI%:RfU#"> <field name="NUM">3</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="aBZ@j_U%p(5Mw6vf8C|^"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="7=bKp0q78[R)@|)anKB?"> <field name="ATTR">val</field> <field name="OID">onkyo.0.Device.Navigation</field> </block> </value> <value name="B"> <block type="text" id="C[F+QBGF8ItO2r_uJ]Rs"> <field name="TEXT">My Presets</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_repeat_ext" id="($tAX,}FE4:l$`3n5Kf8"> <value name="TIMES"> <shadow type="math_number" id="2A}qIyK+G*U6wnS-Z*_1"> <field name="NUM">10</field> </shadow> <block type="math_arithmetic" id="Qlb#CMM@m%D5;`fmM17="> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="M4q7V,I1PXE4Z]8~aE$|"> <field name="NUM">1</field> </shadow> <block type="get_value" id="5aWZXAC9jlb~me@5Gb|0"> <field name="ATTR">val</field> <field name="OID">javascript.0.scriptEnabled.common.Onkyo.TriggerInternetRadiosender</field> </block> </value> <value name="B"> <shadow type="math_number" id="5Tm_c|:P^gO:gb9}70uo"> <field name="NUM">1</field> </shadow> </value> </block> </value> <statement name="DO"> <block type="control" id="pClMSEHW-u%p|MJ8ab);"> <mutation delay_input="true"></mutation> <field name="OID">onkyo.0.Device.MediaDown</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">100</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="]q31@blZ]9)n.q_]zS,s"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <next> <block type="control" id="h:d(FoAQ0-zA)Q%pT5.M"> <mutation delay_input="true"></mutation> <field name="OID">onkyo.0.Device.MediaSelect</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">200</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="Eo?;o}$c|T(/Ak+[.5TF"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="control" id="RmHY_drJE?8$n?-CRiA?"> <mutation delay_input="true"></mutation> <field name="OID">javascript.0.scriptEnabled.common.Onkyo.SequenzVariable</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">100</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="math_number" id="6EgeX[t8*v*~TEPVY[D+"> <field name="NUM">0</field> </block> </value> <next> <block type="timeouts_clearinterval" id="Nc}:_7s1={XiLzNfv([_"> <field name="NAME">Intervall2</field> <next> <block type="timeouts_cleartimeout" id="j|EVphemvkIC(s6X9!lO"> <field name="NAME">timeout5</field> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </xml>
-
Ich versuche den RDS Radiotext in meiner Visualisierung darzustellen. Hierzu habe ich versucht ob ich etwas über das"Device/RAW" ISCP command "RDS00" oder "RDS01" zurückbekomme, doch leider ist mir nicht klar ob das überhaupt geht. Ich hätte evtl. gedacht das dies als Feedback auf dem Objekt "Device/command" zurückgesendet. Kann mir hier jemand helfen ob das möglich ist?
Gruß
Chrisko -
Hallo zusammen
Es gibt eine neue Version. Die Version 2.0.3 unterstützt jetzt auch die 3. Zone. Ansonsten hat sich nur eine Kleinigkeit geändert. Genaues unter Pull-request #40 Stichwort Type: Device, Media.cover.
Grüße Eisbaeeer -
Hallo zusammen,
ich habe mir in den letzten Tagen den Adapter installiert und angefangen mir eine ganz einfache vis zu basteln.
Ich möchte mir verschiedene Soundprofile anlegen. Zum Beispiel AllChannel Stereo mit Center Volumen -12db.
Hierzu benötige ich aber den Parameter Center Volumen. Wie kann ich diesen einbinden?Vielen Dank im Voraus
KE -
wenn es über die APP einstellbar ist kannst Du die kommunikation zwischen App und AV receiver abhören.
Ich habe das mit der Fritzbox und wireshark gemacht...eventuell hilft Dir auch das schon weiter:
-
Oder in der Excel den entsprechenden Befehl raussuchen und in das Objekt RAW legen, dann wird er gesendet.
Gruß Eisbaeeer -
Okay, vielen Dank schon mal.
Hört sich gut an insbesondere, wenn ich es als Objekt anlegen kann.
Wo finde ich die Excelliste?Gruß
KE -
Nein, nicht anlegen, sondern den Befehl in das Objekt RAW eintragen, dann wird der Befehl gesendet.
-
Hallo,
ist eigentlich bereits implementiert, dass man Lautsprecher in "Groups" zusammenfassen kann via FlareConnect? Das geht aktuell nur über die App und ist mehr als mühsam. Ich würde das gern über ioBroker via Skript machen wollen, sobald man z.B. "NET" als Quelle wählt.
Scheinbar muss dabei jeder Client (AV-Receiver, WLAN Lautsprecher) die gleiche "zoneid" wie der "master" haben und dann die "role" zugeordnet bekommen.
"master": groupid=107, role="src"
"slave1": groupid=107, role="dst"
"slave2": groupid=107, role="dst"
usw.
Mehr konnte ich leider nicht aus der XML-Antwort rausschüffeln.Viele Grüße
Tom
-
Hallo,
nachdem ich im FHEM Forum einen sehr guten Ansatz gefunden habe, konnte ich nun FlareConnect mit einem Blocky sehr einfach umsetzen.
Um FlareConnect zu starten und eine Gruppe zu erstellen, muss man folgendes RAW-Command auf dem Master (also der wo die Musik abgespielt wird) absetzen:
MGS<mgs zone="1"><groupid>1</groupid><maxdelay>3000</maxdelay><devices><device id="[macadress of destination speaker]" zoneid="1"/></devices></mgs>
Das Kommando muss man für jeden Speaker, der in der Gruppe hinzugefügt werden soll absetzen.
Um die Gruppe wieder aufzulösen, einfach fast das gleiche RAW-Command absetzen nur mit groupid 0:
MGS<mgs zone="1"><groupid>0</groupid><maxdelay>3000</maxdelay><devices><device id="[macadress of destination speaker]" zoneid="1"/></devices></mgs>
Ich hab das ganze an eine Harmony Aktivität "Musik_Hören" gekoppelt, so dass beim Starten der Aktion alle Lautsprecher in der Wohnung automatisch in die Gruppe gepackt werden und sobald man die Aktion verlässt, jeder Lautsprecher/ AV-Receiver wieder einzeln agiert.
-
@Tom-0 FlareConnect kannte ich noch gar nicht. Hab mir eben ein paar Videos dazu angeschaut. Wenn man noch kein Multi-Room System hat, sehr interessant. Soweit ich das verstehe, kann man jeden beliebigen Lautsprecher in eine Gruppe packen und jede beliebige Source darauf routen?
Kannst du mal was dazu erklären?
Gruß Eisbaeeer -
Hi,
FlareConnect hatte ich mir mal genauer angesehen, weil man das ohne jegliche Cloudverbindung betreiben kann und weil ich eigentlich schon seit Jahren mit den Onkyo Receivern zufrieden war. Es bleibt alles im heimischen WLAN/LAN und es funktioniert dadurch auch ohne Internetverbindung. FlareConnect ist eine Entwicklung von Pioneer und Onkyo. D.h. man kann auch mischen: Onkyo AV-Receiver, 1 x Pioneer WLAN Lautsprecher, 2 x Onkyo WLAN Lautsprecher, 1 x Pioneer Receiver. Ich habe bisher auf Onkyo gesetzt, da mir das Design der Lautsprecher besser gefällt. Aktuell habe ich einen Onkyo AV-Receiver und drei Onkyo NCP-302 Lautsprecher in der Wohnung verteilt.
Jeder Lautsprecher und auch der AV-Receiver kann dabei ein Client oder eben der Master sein.
Man wählt die Quelle auf einem der Devices im Netzwerk - das kann einer der Lautsprecher oder eben der AV-Receiver sein (ich nehme grundsätzlich immer den AV-Receiver) und startet dort die Musik, Internetradio und was auch immer. Dann kann man beliebig die restlichen Lautsprecher zu dieser Gruppe hinzufügen und die Musik wird dann auf allen Devices in der Gruppe ausgegeben.
Ich hatte bisher noch nie Aussetzer oder "verschobene" Wiedergabe - die ist absolut synchron und stabil. Funktioniert wirklich sehr gut. Über die Soundqualität der Lautsprecher kann man natürlich streiten, aber die Onkyo NCP-302 machen eigentlich einen guten Sound für die sanfte Beschallung von Haus bzw. Wohnung. Lediglich die WLAN Einrichtung auf den Onkyo Lautsprechern ist immer etwas haklig. Aber das macht man einmal und dann schnurren die einfach und können auch mit dem onkyo-Adapter einfach angesprochen werden.