---
title: "Fonestar WA-225W"
description: "Fonestar WA-225W amplificatore stereo Wi-Fi DLNA/UPnP. Controlla volume, silenziamento e riproduzione via HTTP (SOAP) da TapHome con il Packet Parser."
url: "https://taphome.com/it/compatibility/fonestar/"
language: it
lastmod: 2026-03-27
generator: hugo
ai:
  topics: ["data-pp","http","audio","upnp","dlna","wifi"]
  questions: ["Come integrare un amplificatore DLNA Fonestar con TapHome?","Cosa controlla il template Fonestar in TapHome?","Come collegare un dispositivo audio UPnP a TapHome tramite Packet Parser?","Perché la modalità di riproduzione Fonestar ha solo tre posizioni funzionanti?","TapHome può controllare qualsiasi DLNA media renderer, non solo Fonestar?","Come trovare l'indirizzo IP di un dispositivo UPnP/DLNA nella rete?"]
---

# Fonestar WA-225W

Comunicazione: Packet Parser → HTTP

- [Pagina prodotto Fonestar WA-225W](https://fonestar.com/en/wa-225w/)

> Indirizzo di rete
> 
> TapHome raggiunge il dispositivo all'indirizzo inserito durante l'importazione. Assegna al dispositivo un indirizzo fisso — una prenotazione IP nel router, oppure il suo nome mDNS se lo supporta —, altrimenti l'integrazione smette di funzionare quando il router cambia l'indirizzo.
> 
> [Preparazione della rete](https://taphome.com/it/docs/setup/network-preparation/)

## Guida all'integrazione

Il Fonestar WA-225W è un amplificatore stereo Wi-Fi compatto con supporto DLNA e AirPlay per lo streaming audio di rete. TapHome comunica con il dispositivo via HTTP utilizzando messaggi UPnP/SOAP XML inviati alla porta 49152. Il template è basato sul profilo standard UPnP AV Media Renderer, quindi dovrebbe funzionare con qualsiasi dispositivo Fonestar che implementa DLNA (WA-225W, FONCAST e modelli simili).

Il template offre controllo del volume, silenziamento, controllo della riproduzione (play, pausa, stop, brano successivo, brano precedente) e un selettore della modalità di riproduzione. Non è necessaria alcuna connessione cloud — tutta la comunicazione avviene nella rete locale.

## Configurazione

Durante l'importazione del template in TapHome, inserisci l'indirizzo IP del dispositivo. Il segnaposto predefinito è `192.168.0.1` e il dispositivo ascolta sulla porta **49152** (la porta standard UPnP AV).

Per trovare l'indirizzo IP del dispositivo, controlla l'elenco dei client DHCP del router o utilizza un'app scanner UPnP/SSDP. Il WA-225W si annuncia come UPnP MediaRenderer nella rete locale. L'app companion MUZO (iOS/Android) mostra anche i dispositivi connessi e i loro indirizzi IP.

## Funzionalità del dispositivo

### Controllo del volume

Il template espone il volume come un dimmer. L'azione UPnP `GetVolume` restituisce un valore nell'intervallo 0–100, che il template normalizza a 0,0–1,0 per il modello dimmer di TapHome (divide per 100 in lettura, moltiplica per 100 in scrittura). Impostare il volume al 50% in TapHome invia `DesiredVolume=50` al dispositivo.

### Silenziamento

Il silenziamento è esposto come un interruttore. Legge lo stato di silenziamento corrente tramite `GetMute` (restituisce 0 o 1) e scrive tramite `SetMute`. Entrambe le operazioni sono indirizzate al canale audio Master del servizio RenderingControl:1.

### Controllo della riproduzione

Il template fornisce cinque dispositivi a pulsante per il controllo della riproduzione:

- **Play** — invia l'azione `Play` del servizio AVTransport:1 (riprende o avvia la riproduzione)
- **Pausa** — invia l'azione `Pause` (sospende la riproduzione nella posizione corrente)
- **Stop** — invia l'azione `Stop` (interrompe completamente la riproduzione)
- **Brano successivo** — invia l'azione `Next` (passa al brano successivo)
- **Brano precedente** — invia l'azione `Previous` (torna al brano precedente)

Questi sono pulsanti di sola scrittura. La riproduzione deve essere prima avviata da un'altra sorgente (ad es. l'app MUZO o un altro controller DLNA), poiché il template non include l'azione `SetAVTransportURI` per impostare la sorgente multimediale.

### Modalità di riproduzione

Il dispositivo modalità di riproduzione è un selettore multivalore che controlla la modalità di ripetizione tramite `GetTransportSettings` e `SetPlayMode`. Tre modalità sono funzionanti:

| Posizione | Etichetta TapHome | UPnP PlayMode | Effetto |
|-----------|---------------------|---------------|---------|
| 0 | Normal | NORMAL | Riproduzione sequenziale, senza ripetizione |
| 1 | Repeat All | REPEAT_ALL | Ripetizione dell'intera coda |
| 2 | Repeat One | REPEAT_TRACK | Ripetizione del brano corrente |

> [!NOTE]
> Il template definisce 10 posizioni multivalore, ma solo le posizioni 0–2 corrispondono a modalità UPnP reali. Le posizioni 3–9 (etichettate "Shuffle no repeat", "Shuffle" ecc.) si impostano su NORMAL in scrittura perché la modalità UPnP `SHUFFLE` non è mappata nello script del template. Utilizza solo le prime tre posizioni.

### Funzionalità aggiuntive

Lo standard UPnP AV espone anche il report dello stato di riproduzione (STOPPED, PLAYING, PAUSED), informazioni sulla posizione e durata del brano, gestione URI dei media (SetAVTransportURI per accodare brani), funzionalità di ricerca, controllo del volume in decibel, miglioramento loudness e preset di rendering. Queste funzionalità potranno essere aggiunte in un futuro aggiornamento del template.

## Risoluzione dei problemi

### Il dispositivo non risponde

1. Verifica che l'amplificatore sia acceso e connesso al Wi-Fi (o Ethernet tramite RJ-45)
2. Conferma che l'indirizzo IP in TapHome corrisponda all'IP corrente del dispositivo — controlla l'elenco dei client DHCP del router
3. Prova ad accedere a `http://{ip-dispositivo}:49152/` nel browser — se il dispositivo è raggiungibile, dovrebbe caricarsi un XML di descrizione UPnP
4. Verifica che TapHome Core e l'amplificatore siano sulla stessa rete / VLAN — il traffico UPnP non attraversa i confini di sottorete per impostazione predefinita

### I pulsanti di riproduzione non hanno effetto

I pulsanti di riproduzione (Play, Pausa, Stop, Brano successivo, Brano precedente) funzionano solo quando i media sono già caricati sul dispositivo. Il template non include l'azione `SetAVTransportURI`, quindi la riproduzione deve essere prima avviata da un'altra sorgente (ad es. l'app MUZO, un media server DLNA o un altro punto di controllo UPnP). Una volta avviata la riproduzione, i pulsanti TapHome la controlleranno.

### Le modifiche al volume non vengono applicate

Se le regolazioni del volume da TapHome non hanno effetto, verifica che il dispositivo non sia silenziato. Alcuni renderer DLNA ignorano le modifiche al volume quando il silenziamento è attivo. Conferma inoltre che nessun altro punto di controllo (ad es. l'app MUZO) stia inviando contemporaneamente comandi in conflitto.

## Dispositivi disponibili 8

Questi dispositivi compaiono in TapHome dopo l'importazione.

Fonestar Modulo

Volume Dimmer Lettura e scrittura

Livello volume principale — intervallo UPnP 0–100 normalizzato alla scala dimmer TapHome (0,0–1,0)

numeric Unità: %

Lettura livello

```taphome
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
```

Scrittura livello

```taphome
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\"");
```

Brano successivo Pulsante Lettura e scrittura

button

Scrittura stato pulsante

```taphome
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\"");
```

Pausa Pulsante Lettura e scrittura

button

Scrittura stato pulsante

```taphome
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 Pulsante Lettura e scrittura

button

Scrittura stato pulsante

```taphome
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\"");
```

Brano precedente Pulsante Lettura e scrittura

button

Scrittura stato pulsante

```taphome
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 Pulsante Lettura e scrittura

button

Scrittura stato pulsante

```taphome
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\"");
```

Silenziamento Interruttore Lettura e scrittura

boolean

Valori / Stati: ON · OFF

Lettura stato interruttore

```taphome
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
```

Scrittura stato interruttore

```taphome
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\"");
```

Modalità di riproduzione Interruttore multivalore Lettura e scrittura

Modalità di ripetizione — Normal, Repeat All, Repeat One sono funzionali; le posizioni 3–9 non hanno mappatura UPnP e si impostano su Normal

enum

Valori / Stati: Normal · Repeat all · Repeat one

Lettura stato interruttore

```taphome
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
```

Scrittura stato interruttore

```taphome
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\"");
```

**Connessione:** Packet Parser → HTTP

Possibili miglioramenti (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)

## Parametri di importazione

Inserisci questi valori quando importi l'XML.

| Richiesto nell'app | Predefinito   |
|--------------------|---------------|
| Indirizzo IP       | `192.168.0.1` |

## Fonti

- Fonestar WA-225W Product Page
  
  [fonestar.com](https://fonestar.com/en/wa-225w/) 2026-03-27
- UPnP AVTransport:1 Service Specification
  
  [upnp.org](https://upnp.org/specs/av/UPnP-av-AVTransport-v1-Service.pdf) 2026-03-27
- UPnP RenderingControl:1 Service Reference
  
  [sonos.svrooij.io](https://sonos.svrooij.io/services/rendering-control) 2026-03-27

## Documentazione correlata

- [Integrazione Packet Parser](https://taphome.com/it/compatibility/packet-parser-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/it/docs/integration/packet-parser/)
- [Funzioni Packet parser](https://taphome.com/it/docs/script/packet-parser/)
- [Funzioni di parsing](https://taphome.com/it/docs/script/parsing-functions/)

