TapHome
Oficiální · TapHome Ověřená

Fonestar WA-225W

Fonestar WA-225W DLNA/UPnP Wi-Fi stereo zesilovač. Ovládejte hlasitost, ztlumení a přehrávání přes HTTP (SOAP) z TapHome pomocí Packet Parseru.

FonestarPacket Parser → HTTP8 zařízeníRevize 1.0 Poslední aktualizace: 27. března 2026
Fonestar WA-225W

Import do aplikace TapHomeHardware › Packet Parser › Přidat ze šablony

Stáhnout šablonu
Na této stránce

Adresa v síti

TapHome komunikuje se zařízením na adrese zadané při importu. Dejte zařízení stálou adresu — rezervaci IP v routeru, nebo jeho mDNS jméno, pokud ho podporuje —, jinak integrace přestane fungovat, když router adresu změní.

Příprava sítě

Návod na integraci

Fonestar WA-225W je kompaktní Wi-Fi stereo zesilovač s podporou DLNA a AirPlay pro síťové streamování zvuku. TapHome komunikuje se zařízením přes HTTP pomocí UPnP/SOAP XML zpráv odesílaných na port 49152. Šablona cílí na standardní profil UPnP AV Media Renderer, takže by měla fungovat s jakýmkoli zařízením Fonestar implementujícím DLNA (WA-225W, FONCAST a podobné modely).

Šablona poskytuje ovládání hlasitosti, ztlumení, ovládání přehrávání (play, pause, stop, další skladba, předchozí skladba) a přepínač režimu přehrávání. Není potřeba žádné cloudové připojení — veškerá komunikace probíhá v lokální síti.

Konfigurace

Během importu šablony do TapHome zadejte IP adresu zařízení. Výchozí zástupná hodnota je 192.168.0.1 a zařízení naslouchá na portu 49152 (standardní UPnP AV port).

IP adresu zařízení zjistíte v seznamu DHCP klientů na routeru nebo pomocí aplikace pro skenování UPnP/SSDP. WA-225W se v lokální síti hlásí jako UPnP MediaRenderer. Doprovodná aplikace MUZO (iOS/Android) také zobrazuje připojená zařízení a jejich IP adresy.

Možnosti zařízení

Ovládání hlasitosti

Šablona zpřístupňuje hlasitost jako dimmer. UPnP akce GetVolume vrací hodnotu v rozsahu 0–100, kterou šablona normalizuje na 0,0–1,0 pro dimmer model TapHome (při čtení dělí 100, při zápisu násobí 100). Nastavení hlasitosti na 50 % v TapHome odešle zařízení DesiredVolume=50.

Ztlumení

Ztlumení je zpřístupněno jako spínač. Čte aktuální stav ztlumení přes GetMute (vrací 0 nebo 1) a zapisuje přes SetMute. Obě operace cílí na Master audio kanál služby RenderingControl:1.

Ovládání přehrávání

Šablona poskytuje pět tlačítkových zařízení pro ovládání přehrávání:

  • Play — odešle akci Play služby AVTransport:1 (obnoví nebo spustí přehrávání)
  • Pause — odešle akci Pause (pozastaví přehrávání na aktuální pozici)
  • Stop — odešle akci Stop (zcela zastaví přehrávání)
  • Další skladba — odešle akci Next (přeskočí na další skladbu)
  • Předchozí skladba — odešle akci Previous (vrátí se na předchozí skladbu)

Jedná se o tlačítka pouze pro zápis. Přehrávání musí být nejprve spuštěno z jiného zdroje (např. aplikace MUZO nebo jiný DLNA ovladač), protože šablona neobsahuje akci SetAVTransportURI pro nastavení zdroje médií.

Režim přehrávání

Zařízení režimu přehrávání je vícepolohový přepínač, který ovládá režim opakování přes GetTransportSettings a SetPlayMode. Funkční jsou tři režimy:

PoziceOznačení v TapHomeUPnP PlayModeEfekt
0NormalNORMALSekvenční přehrávání, bez opakování
1Repeat AllREPEAT_ALLOpakování celé fronty
2Repeat OneREPEAT_TRACKOpakování aktuální skladby

Šablona definuje 10 vícepoložkových pozic, ale pouze pozice 0–2 odpovídají skutečným UPnP režimům přehrávání. Pozice 3–9 (označené „Shuffle no repeat", „Shuffle" atd.) se při zápisu nastaví na NORMAL, protože UPnP režim SHUFFLE není ve skriptu šablony namapován. Používejte pouze první tři pozice.

Další možnosti

Standard UPnP AV také zpřístupňuje hlášení stavu přehrávání (STOPPED, PLAYING, PAUSED), informace o pozici a délce skladby, správu URI médií (SetAVTransportURI pro řazení skladeb), funkci vyhledávání, ovládání hlasitosti v decibelech, vylepšení loudness a předvolby renderování. Tyto možnosti mohou být přidány v budoucí aktualizaci šablony.

Řešení problémů

Zařízení neodpovídá

  1. Ověřte, že zesilovač je zapnutý a připojený k Wi-Fi (nebo Ethernetu přes RJ-45)
  2. Potvrďte, že IP adresa v TapHome odpovídá aktuální IP zařízení — zkontrolujte seznam DHCP klientů na routeru
  3. Zkuste v prohlížeči otevřít http://{ip-zarizeni}:49152/ — pokud je zařízení dostupné, načte se UPnP popisný XML soubor
  4. Zkontrolujte, že TapHome Core a zesilovač jsou ve stejné síti / VLAN — UPnP provoz standardně nepřechází mezi podsítěmi

Tlačítka přehrávání nefungují

Tlačítka přehrávání (Play, Pause, Stop, Další skladba, Předchozí skladba) fungují pouze tehdy, když jsou média již načtena na zařízení. Šablona neobsahuje akci SetAVTransportURI, takže přehrávání musí být nejprve spuštěno z jiného zdroje (např. aplikace MUZO, DLNA media server nebo jiný UPnP ovládací bod). Po spuštění přehrávání je tlačítka TapHome budou ovládat.

Změny hlasitosti se neprojevují

Pokud úpravy hlasitosti z TapHome nefungují, ověřte, že zařízení není ztlumeno. Některé DLNA renderery ignorují změny hlasitosti během ztlumení. Také potvrďte, že žádný jiný ovládací bod (např. aplikace MUZO) současně neodesílá konfliktní příkazy.

Dostupná zařízení 8

Tato zařízení se po importu zobrazí v TapHome.

Fonestar Modul
Hlasitost Stmívač Čtení i zápis

Hlavní hlasitost — rozsah UPnP 0–100 normalizovaný na dimmer škálu TapHome (0,0–1,0)

numeric Jednotka: %

Hlasitost

Čtení úrovně
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
Zápis úrovně
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\"");
Další skladba Tlačítko Čtení i zápis
button

Další skladba

Zápis stavu tlačítka
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 Tlačítko Čtení i zápis
button

Pauza

Zápis stavu tlačítka
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\"");
Play Tlačítko Čtení i zápis
button

Play

Zápis stavu tlačítka
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\"");
Předchozí skladba Tlačítko Čtení i zápis
button

Předchozí skladba

Zápis stavu tlačítka
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\"");
Stop Tlačítko Čtení i zápis
button

Stop

Zápis stavu tlačítka
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\"");
Ztlumení Přepínač Čtení i zápis
boolean
Hodnoty / Stavy: ON · OFF

Ztlumení

Čtení stavu přepínače
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
Zápis stavu přepínače
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\"");
Režim přehrávání Vícestavový přepínač Čtení i zápis

Režim opakování — Normal, Repeat All, Repeat One jsou funkční; pozice 3–9 nemají UPnP mapování a nastaví se na Normal

enum
Hodnoty / Stavy: Normal · Repeat all · Repeat one

Režim přehrávání

Čtení stavu přepínače
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
Zápis stavu přepínače
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\"");
Připojení: Packet Parser → HTTP
Možná vylepšení (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)

Parametry importu

Tyto hodnoty zadáte při importu XML.

Ptá se v aplikaciVýchozí
IP adresa192.168.0.1

Zdroje

Našli jste problém s touto šablonou zařízení?

Napište nám, co nefunguje, co chybí, nebo jak by se měla šablona chovat. Vaše zpětná vazba nám pomáhá udržet katalog přesný.

Šablona · portál TapHome Fonestar WA-225W Otevřete tuto šablonu v zákaznickém portálu a použijte ji ve svém domově, nebo navrhněte úpravu a odešlete ji zpět do katalogu. Packet Parser → HTTP Zobrazit v portálu TapHome