TapHome

Fonestar WA-225W

Packet Parser → HTTP
Autor
Posljednje ažuriranje: 03. 2026
Fonestar WA-225W

Fonestar WA-225W je kompaktno Wi-Fi stereo pojačalo koje podržava DLNA i AirPlay za mrežni prijenos zvuka. TapHome s uređajem komunicira preko HTTP-a s pomoću UPnP/SOAP XML poruka koje šalje na port 49152. Predložak je namijenjen standardnom profilu UPnP AV Media Renderer, pa bi trebao raditi sa svakim uređajem Fonestar koji podržava DLNA (WA-225W, FONCAST i slični modeli).

Predložak omogućuje upravljanje glasnoćom, isključivanje zvuka, upravljanje reprodukcijom (reprodukcija, pauza, zaustavljanje, sljedeća, prethodna) i odabir načina reprodukcije. Veza s oblakom nije potrebna: sva komunikacija odvija se u lokalnoj mreži.

Konfiguracija

Pri uvozu predloška u TapHome unesite IP adresu uređaja. Zadana vrijednost je 192.168.0.1, a uređaj sluša na portu 49152 (standardni UPnP AV port).

IP adresu uređaja pronaći ćete u popisu DHCP klijenata na usmjerivaču ili s pomoću aplikacije za UPnP/SSDP skeniranje. WA-225W se u lokalnoj mreži javlja kao UPnP MediaRenderer. Prateća aplikacija MUZO (iOS/Android) također prikazuje spojene uređaje i njihove IP adrese.

Za otkrivanje u mreži UPnP uređaji koriste SSDP, a ne mDNS. Ako se IP adresa uređaja promijeni nakon obnove DHCP zakupa, IP adresu morate ažurirati u TapHome. Kako biste izbjegli probleme s vezom, na usmjerivaču dodijelite statičku IP adresu ili DHCP rezervaciju.

Mogućnosti uređaja

Upravljanje glasnoćom

Predložak glasnoću prikazuje kao uređaj vrste „Dimer”. UPnP radnja GetVolume vraća vrijednost u rasponu 0–100, koju predložak preračunava na 0,0–1,0 za model dimera u TapHome (pri čitanju dijeli sa 100, pri upisu množi sa 100). Postavljanje glasnoće na 50 % u TapHome šalje uređaju DesiredVolume=50.

Isključivanje zvuka

Isključivanje zvuka prikazuje se kao uređaj vrste „Sklopka”. Predložak trenutačno stanje čita radnjom GetMute (vraća 0 ili 1), a upisuje radnjom SetMute. Obje radnje odnose se na audio kanal Master na usluzi RenderingControl:1.

Upravljanje reprodukcijom

Predložak sadrži pet uređaja tipa tipka za upravljanje reprodukcijom:

  • Reproduciraj: šalje radnju AVTransport:1 Play (nastavlja ili pokreće reprodukciju)
  • Pauza: šalje radnju Pause (zaustavlja reprodukciju na trenutačnom mjestu)
  • Zaustavi: šalje radnju Stop (potpuno zaustavlja reprodukciju)
  • Sljedeća pjesma: šalje radnju Next (prelazi na sljedeću pjesmu)
  • Prethodna pjesma: šalje radnju Previous (vraća se na prethodnu pjesmu)

To su tipke samo za upis. Reprodukciju najprije treba pokrenuti iz drugog izvora (npr. aplikacijom MUZO ili drugim DLNA upravljačem), jer predložak nema radnju SetAVTransportURI za postavljanje izvora medija.

Način reprodukcije

Uređaj Način reprodukcije je prekidač s više vrijednosti koji preko GetTransportSettings i SetPlayMode upravlja načinom ponavljanja. Rade tri načina:

PoložajOznaka u TapHomeUPnP PlayModeUčinak
0NormalnoNORMALReprodukcija redom, bez ponavljanja
1Ponovi sveREPEAT_ALLPonavljanje cijelog popisa
2Ponovi jednuREPEAT_TRACKPonavljanje trenutačne pjesme

Predložak definira 10 položaja, ali samo položaji 0–2 odgovaraju stvarnim UPnP načinima reprodukcije. Položaji 3–9 (s oznakama „Nasumično bez ponavljanja”, „Nasumična reprodukcija” itd.) pri upisu se vraćaju na NORMAL, jer UPnP način SHUFFLE nije mapiran u skripti predloška. Koristite samo prva tri položaja.

Dodatne mogućnosti

Standard UPnP AV nudi i javljanje stanja reprodukcije (STOPPED, PLAYING, PAUSED), podatke o položaju i trajanju pjesme, upravljanje URI-jem medija (SetAVTransportURI za postavljanje pjesama u red), premotavanje, upravljanje glasnoćom u decibelima, korekciju zvuka pri tihom slušanju (loudness) i unaprijed postavljene postavke reprodukcije (rendering presets). Te se mogućnosti mogu dodati u budućem ažuriranju predloška.

Rješavanje problema

Uređaj ne odgovara
  1. Provjerite je li pojačalo uključeno i spojeno na Wi-Fi (ili na Ethernet preko RJ-45)
  2. Provjerite odgovara li IP adresa u TapHome trenutačnoj IP adresi uređaja: pogledajte popis DHCP klijenata na usmjerivaču
  3. U pregledniku otvorite http://{device-ip}:49152/: ako je uređaj dostupan, učitat će se XML opis UPnP uređaja
  4. Provjerite jesu li centralna jedinica TapHome Core i pojačalo u istoj mreži / VLAN-u: UPnP promet prema zadanim postavkama ne prelazi granice podmreže
Tipke reprodukcije ne rade ništa

Tipke za reprodukciju (Reproduciraj, Pauza, Zaustavi, Sljedeća, Prethodna) rade samo kad je medij već učitan na uređaju. Predložak nema radnju SetAVTransportURI, pa reprodukciju najprije treba pokrenuti iz drugog izvora (npr. aplikacijom MUZO, DLNA medijskim poslužiteljem ili drugom UPnP upravljačkom točkom). Kad reprodukcija traje, tipke u TapHome njome upravljaju.

Promjene glasnoće se ne primjenjuju

Ako se promjene glasnoće iz TapHome ne primjenjuju, provjerite da zvuk uređaja nije isključen. Neki DLNA rendereri zanemaruju promjene glasnoće dok je zvuk isključen. Provjerite i da nijedna druga upravljačka točka (npr. aplikacija MUZO) istodobno ne šalje proturječne naredbe.

Dostupni uređaji

Fonestar Modul
Glasnoća Dimer

Glavna razina glasnoće, UPnP raspon 0–100 preračunat na ljestvicu dimera TapHome (0,0–1,0)

numeric Jedinica: %

Glasnoća

Čitanje razine
VAR body := "<?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:GetVolume xmlns:u=\"urn:schemas-upnp-org:service:RenderingControl:1\"><InstanceID>0</InstanceID><Channel>Master</Channel></u:GetVolume></s:Body></s:Envelope>";

VAR response := SENDHTTPREQUEST("/upnp/control/rendercontrol1", "POST", body, "SOAPACTION: \"urn:schemas-upnp-org:service:RenderingControl:1#GetVolume\"", "CONTENT-TYPE: text/xml; charset=\"utf-8\"" );

IF response.IsSuccess
    VAR responseXml := response.Content;
    RETURN(PARSEXML(responseXml, "//CurrentVolume") / 100.0);
ELSE
    ADDERROR(response.Content);
    RETURN(NaN);
END
Zapis razine
VAR body := "<?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:SetVolume xmlns:u=\"urn:schemas-upnp-org:service:RenderingControl:1\"><InstanceID>0</InstanceID><Channel>Master</Channel><DesiredVolume>" + ROUND(Le * 100) + "</DesiredVolume></u:SetVolume></s:Body></s:Envelope>";

SENDHTTPREQUEST("/upnp/control/rendercontrol1", "POST", body, "SOAPACTION: \"urn:schemas-upnp-org:service:RenderingControl:1#SetVolume\"", "CONTENT-TYPE: text/xml; charset=\"utf-8\"");
Sljedeća pjesma Tipkalo
button

Sljedeća pjesma

Zapis stanja tipke
VAR body := "<?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:Next xmlns:u=\"urn:schemas-upnp-org:service:AVTransport:1\"><InstanceID>0</InstanceID></u:Next></s:Body></s:Envelope>";

SENDHTTPREQUEST("/upnp/control/rendertransport1", "POST", body, "SOAPACTION: \"urn:schemas-upnp-org:service:AVTransport:1#Next\"", "CONTENT-TYPE: text/xml; charset=\"utf-8\"");
Pauza Tipkalo
button

Pauza

Zapis stanja tipke
VAR body := "<?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:Pause xmlns:u=\"urn:schemas-upnp-org:service:AVTransport:1\"><InstanceID>0</InstanceID></u:Pause></s:Body></s:Envelope>";

SENDHTTPREQUEST("/upnp/control/rendertransport1", "POST", body, "SOAPACTION: \"urn:schemas-upnp-org:service:AVTransport:1#Pause\"", "CONTENT-TYPE: text/xml; charset=\"utf-8\"");
Reproduciraj Tipkalo
button

Reproduciraj

Zapis stanja tipke
VAR body := "<?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:Play xmlns:u=\"urn:schemas-upnp-org:service:AVTransport:1\"><InstanceID>0</InstanceID><Speed>1</Speed></u:Play></s:Body></s:Envelope>";

SENDHTTPREQUEST("/upnp/control/rendertransport1", "POST", body, "SOAPACTION: \"urn:schemas-upnp-org:service:AVTransport:1#Play\"", "CONTENT-TYPE: text/xml; charset=\"utf-8\"");
Prethodna pjesma Tipkalo
button

Prethodna pjesma

Zapis stanja tipke
VAR body := "<?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:Previous xmlns:u=\"urn:schemas-upnp-org:service:AVTransport:1\"><InstanceID>0</InstanceID></u:Previous></s:Body></s:Envelope>";

SENDHTTPREQUEST("/upnp/control/rendertransport1", "POST", body, "SOAPACTION: \"urn:schemas-upnp-org:service:AVTransport:1#Previous\"", "CONTENT-TYPE: text/xml; charset=\"utf-8\"");
Zaustavi Tipkalo
button

Zaustavi

Zapis stanja tipke
VAR body := "<?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:Stop xmlns:u=\"urn:schemas-upnp-org:service:AVTransport:1\"><InstanceID>0</InstanceID><Speed>1</Speed></u:Stop></s:Body></s:Envelope>";

SENDHTTPREQUEST("/upnp/control/rendertransport1", "POST", body, "SOAPACTION: \"urn:schemas-upnp-org:service:AVTransport:1#Stop\"", "CONTENT-TYPE: text/xml; charset=\"utf-8\"");
Isključi zvuk Sklopka
boolean
Vrijednosti / stanja: ON · OFF

Isključi zvuk

Čitanje stanja sklopke
VAR body := "<?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:GetMute xmlns:u=\"urn:schemas-upnp-org:service:RenderingControl:1\"><InstanceID>0</InstanceID><Channel>Master</Channel></u:GetMute></s:Body></s:Envelope>";

VAR response := SENDHTTPREQUEST("/upnp/control/rendercontrol1", "POST", body, "SOAPACTION: \"urn:schemas-upnp-org:service:RenderingControl:1#GetMute\"", "CONTENT-TYPE: text/xml; charset=\"utf-8\"");

IF response.IsSuccess
    VAR responseXml := response.Content;
    RETURN(PARSEXML(responseXml, "//CurrentMute"));
ELSE
    ADDERROR(response.Content);
    RETURN(NaN);
END
Zapis stanja sklopke
VAR body := "<?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:SetMute xmlns:u=\"urn:schemas-upnp-org:service:RenderingControl:1\"><InstanceID>0</InstanceID><Channel>Master</Channel><DesiredMute>" + St +"</DesiredMute></u:SetMute></s:Body></s:Envelope>";

SENDHTTPREQUEST("/upnp/control/rendercontrol1", "POST", body, "SOAPACTION: \"urn:schemas-upnp-org:service:RenderingControl:1#SetMute\"", "CONTENT-TYPE: text/xml; charset=\"utf-8\"");
Način reprodukcije Prekidač s više vrijednosti

Način ponavljanja reprodukcije; rade Normalno, Ponovi sve i Ponovi jednu, a položaji 3–9 nemaju UPnP mapiranje i vraćaju se na Normalno

enum
Vrijednosti / stanja: Normal · Repeat all · Repeat one · Shuffle no repeat · Shuffle · Shuffle repeat one

Način reprodukcije

Čitanje stanja sklopke
VAR body := "<?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:GetTransportSettings xmlns:u=\"urn:schemas-upnp-org:service:AVTransport:1\"><InstanceID>0</InstanceID></u:GetTransportSettings></s:Body></s:Envelope>";

VAR response := SENDHTTPREQUEST("/upnp/control/rendertransport1", "POST", body, "SOAPACTION: \"urn:schemas-upnp-org:service:AVTransport:1#GetTransportSettings\"", "CONTENT-TYPE: text/xml; charset=\"utf-8\"");

IF response.IsSuccess
    VAR responseXml := response.Content;
    VAR mode := PARSEXML(responseXml, "//PlayMode");
    RETURN(SWITCH(mode, "NORMAL", 0, "REPEAT_ALL", 1, "REPEAT_TRACK", 2, 0));
ELSE
    ADDERROR(response.Content);
    RETURN(NaN);
END
Zapis stanja sklopke
VAR mode := SWITCH(Mu, 0, "NORMAL", 1, "REPEAT_ALL", 2, "REPEAT_TRACK", "NORMAL");

VAR body := "<?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:SetPlayMode xmlns:u=\"urn:schemas-upnp-org:service:AVTransport:1\"><InstanceID>0</InstanceID><NewPlayMode>" + mode +"</NewPlayMode></u:SetPlayMode></s:Body></s:Envelope>";

SENDHTTPREQUEST("/upnp/control/rendertransport1", "POST", body, "SOAPACTION: \"urn:schemas-upnp-org:service:AVTransport:1#SetPlayMode\"", "CONTENT-TYPE: text/xml; charset=\"utf-8\"");
Povezivanje: Packet Parser → HTTP
Moguća poboljšanja (8)
  • Set Media URI — Required action — sets the URI of the media to play. Without this, the device can only control already-playing media (started from another source like the MUZO app).
  • Transport State — Returns current TransportState (STOPPED, PLAYING, PAUSED_PLAYBACK, etc.) — useful for showing playback status in TapHome
  • Track Position Info — Returns current track number, duration, and playback position — would enable progress display
  • Media Info — Returns number of tracks and media duration
  • Seek — Required action — seek by track number, absolute or relative time
  • Volume in dB — Optional — volume control in decibels rather than 0-100 linear scale
  • Loudness — Optional — loudness enhancement toggle
  • Rendering Presets — Required actions — list and select rendering presets (e.g. EQ profiles)

Izvori

Pronašli ste problem s ovim predloškom uređaja?

Recite nam što ne radi, što nedostaje ili kako bi se predložak trebao ponašati. Vaše povratne informacije pomažu nam da katalog bude točan.

Provjerio TapHome

Želite ovo koristiti u svojoj centralnoj jedinici TapHome Core?

Otvorite ovaj predložak na portalu Customer Portal kako biste ga primijenili na jedan od svojih domova ili predložili poboljšanje i poslali ga natrag u katalog.

Otvorite na portalu