TapHome

Fonestar WA-225W

Packet Parser → HTTP
Beküldő
Utoljára frissítve: 03. 2026
Fonestar WA-225W

A Fonestar WA-225W egy kompakt Wi-Fi sztereó erősítő DLNA és AirPlay támogatással hálózati audio streaminghez. A TapHome HTTP-n keresztül kommunikál az eszközzel, UPnP/SOAP XML üzeneteket küldve a 49152-es portra. A sablon a szabványos UPnP AV Media Renderer profilt célozza, így bármely DLNA-t implementáló Fonestar eszközzel működnie kell (WA-225W, FONCAST és hasonló modellek).

A sablon hangerőszabályozást, némítást, lejátszásvezérlést (play, pause, stop, következő szám, előző szám) és lejátszási mód kapcsolót biztosít. Nincs szükség felhőkapcsolatra — minden kommunikáció a helyi hálózaton zajlik.

Konfiguráció

A TapHome sablon importálásakor add meg az eszköz IP-címét. Az alapértelmezett helyőrző 192.168.0.1, az eszköz a 49152-es porton figyel (a szabványos UPnP AV port).

Az eszköz IP-címének megtalálásához ellenőrizd a routered DHCP-klienslistáját, vagy használj UPnP/SSDP szkenner alkalmazást. A WA-225W UPnP MediaRendererként jelentkezik a helyi hálózaton. A MUZO kísérőalkalmazás (iOS/Android) szintén megjeleníti a csatlakoztatott eszközöket és IP-címeiket.

Az UPnP eszközök SSDP-t használnak a felderítéshez, nem mDNS-t. Ha az eszköz IP-címe DHCP-megújítás után megváltozik, frissítened kell az IP-címet a TapHome-ban. Fontold meg statikus IP-cím vagy DHCP-foglalás beállítását a routereden a kapcsolódási problémák elkerülése érdekében.

Eszközfunkciók

Hangerőszabályozás

A sablon a hangerőt dimmerként teszi elérhetővé. A GetVolume UPnP művelet 0–100 tartományban ad vissza értéket, amelyet a sablon 0,0–1,0-ra normalizál a TapHome dimmer modelljéhez (olvasáskor 100-zal oszt, íráskor 100-zal szoroz). A hangerő 50%-ra állítása a TapHome-ban DesiredVolume=50 értéket küld az eszköznek.

Némítás

A némítás kapcsolóként érhető el. Az aktuális némítási állapotot a GetMute művelettel olvassa (0-t vagy 1-et ad vissza), és a SetMute művelettel írja. Mindkét művelet a RenderingControl:1 szolgáltatás Master audio csatornáját célozza.

Lejátszásvezérlés

A sablon öt nyomógombot biztosít a lejátszás vezérléséhez:

  • Play — elküldi az AVTransport:1 Play műveletet (folytatja vagy elindítja a lejátszást)
  • Pause — elküldi a Pause műveletet (szünetelteti a lejátszást az aktuális pozíciónál)
  • Stop — elküldi a Stop műveletet (teljesen leállítja a lejátszást)
  • Következő szám — elküldi a Next műveletet (a következő számra ugrik)
  • Előző szám — elküldi a Previous műveletet (visszatér az előző számra)

Ezek csak írási gombok. A lejátszást előbb egy másik forrásból kell elindítani (pl. MUZO alkalmazás vagy másik DLNA vezérlő), mivel a sablon nem tartalmazza a SetAVTransportURI műveletet a médiaforrás beállításához.

Lejátszási mód

A lejátszási mód eszköz egy többértékű kapcsoló, amely az ismétlési módot vezérli a GetTransportSettings és SetPlayMode műveleteken keresztül. Három mód működik:

PozícióTapHome megnevezésUPnP PlayModeHatás
0NormalNORMALSzekvenciális lejátszás, nincs ismétlés
1Repeat AllREPEAT_ALLA teljes várólista ismétlése
2Repeat OneREPEAT_TRACKAz aktuális szám ismétlése

A sablon 10 többértékű pozíciót definiál, de csak a 0–2 pozíciók felelnek meg tényleges UPnP lejátszási módoknak. A 3–9 pozíciók (jelölésük: „Shuffle no repeat", „Shuffle" stb.) íráskor NORMAL-ra állnak, mert az UPnP SHUFFLE mód nincs leképezve a sablon szkriptjében. Csak az első három pozíciót használd.

További funkciók

Az UPnP AV szabvány emellett lejátszási állapotjelentést (STOPPED, PLAYING, PAUSED), szám pozíció- és időtartam-információkat, média URI-kezelést (SetAVTransportURI számok sorba állításához), keresési funkciót, decibeles hangerőszabályozást, loudness kiemelést és renderelési előbeállításokat is biztosít. Ezek a funkciók egy jövőbeli sablonfrissítésben adhatók hozzá.

Hibaelhárítás

Az eszköz nem válaszol
  1. Ellenőrizd, hogy az erősítő be van-e kapcsolva és csatlakozik-e Wi-Fi-hez (vagy Ethernethez RJ-45-ön keresztül)
  2. Győződj meg róla, hogy a TapHome-ban megadott IP-cím megegyezik az eszköz aktuális IP-címével — ellenőrizd a routered DHCP-klienslistáját
  3. Próbáld meg megnyitni a http://{eszkoz-ip}:49152/ címet böngészőben — ha az eszköz elérhető, egy UPnP leíró XML fájlnak kell betöltődnie
  4. Ellenőrizd, hogy a TapHome Core és az erősítő ugyanazon a hálózaton / VLAN-on van — az UPnP forgalom alapértelmezetten nem lépi át az alhálózati határokat
A lejátszásgombok nem működnek

A lejátszásgombok (Play, Pause, Stop, Következő szám, Előző szám) csak akkor működnek, ha az eszközön már be van töltve média. A sablon nem tartalmazza a SetAVTransportURI műveletet, ezért a lejátszást előbb egy másik forrásból kell elindítani (pl. MUZO alkalmazás, DLNA médiaszerverről vagy másik UPnP vezérlőpontból). A lejátszás elindítása után a TapHome gombjaival vezérelheted.

A hangerőváltozások nem érvényesülnek

Ha a TapHome-ból végzett hangerő-beállítások nem lépnek érvénybe, ellenőrizd, hogy az eszköz nincs-e némítva. Egyes DLNA rendererek figyelmen kívül hagyják a hangerőváltozásokat némított állapotban. Győződj meg arról is, hogy más vezérlőpont (pl. MUZO alkalmazás) nem küld egyidejűleg ütköző parancsokat.

Elérhető eszközök

Fonestar Modul
Hangerő Fényerőszabályzó

Fő hangerőszint — UPnP 0–100 tartomány normalizálva a TapHome dimmer skálájára (0,0–1,0)

numeric Egység: %

Hangerő

Szint olvasása
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
Szint írása
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\"");
Következő szám Nyomógomb
button

Következő szám

Gombállapot írása
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\"");
Szünet Nyomógomb
button

Szünet

Gombállapot írása
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 Nyomógomb
button

Play

Gombállapot írása
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\"");
Előző szám Nyomógomb
button

Előző szám

Gombállapot írása
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 Nyomógomb
button

Stop

Gombállapot írása
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\"");
Némítás Kapcsoló
boolean
Értékek / Állapotok: ON · OFF

Némítás

Kapcsoló állapot olvasása
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
Kapcsoló állapot írása
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\"");
Lejátszási mód Többértékű kapcsoló

Ismétlési mód — Normal, Repeat All, Repeat One működik; a 3–9 pozícióknak nincs UPnP-leképezésük és Normal-ra állnak

enum
Értékek / Állapotok: Normal · Repeat all · Repeat one · Shuffle no repeat · Shuffle · Shuffle repeat one

Lejátszási mód

Kapcsoló állapot olvasása
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
Kapcsoló állapot írása
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\"");
Kapcsolat: Packet Parser → HTTP
Lehetséges fejlesztések (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)

Források