---
title: "Fonestar WA-225W"
description: "Fonestar WA-225W DLNA/UPnP Wi-Fi Stereo-Verstärker. Lautstärke, Stummschaltung und Wiedergabe über HTTP (SOAP) aus TapHome mit dem Packet Parser steuern."
url: "https://taphome.com/de/compatibility/fonestar/"
language: de
lastmod: 2026-03-27
generator: hugo
ai:
  topics: ["data-pp","http","audio","upnp","dlna","wifi"]
  questions: ["Wie integriere ich einen Fonestar DLNA-Verstärker mit TapHome?","Was steuert die Fonestar-Vorlage in TapHome?","Wie verbinde ich ein UPnP-Audiogerät über den Packet Parser mit TapHome?","Warum hat der Wiedergabemodus von Fonestar nur drei funktionale Positionen?","Kann TapHome jeden DLNA Media Renderer steuern, nicht nur Fonestar?","Wie finde ich die IP-Adresse eines UPnP/DLNA-Geräts im Netzwerk?"]
---

# Fonestar WA-225W

Kommunikation: Packet Parser → HTTP

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

> Netzwerkadresse
> 
> TapHome erreicht dieses Gerät unter der beim Import eingegebenen Adresse. Geben Sie dem Gerät eine feste Adresse — eine IP-Reservierung im Router oder seinen mDNS-Namen, falls es einen unterstützt —, sonst funktioniert die Integration nicht mehr, sobald der Router die Adresse ändert.
> 
> [Netzwerkvorbereitung](https://taphome.com/de/docs/setup/network-preparation/)

## Integrationsanleitung

Der Fonestar WA-225W ist ein kompakter Wi-Fi-Stereoverstärker mit DLNA- und AirPlay-Unterstützung für Netzwerk-Audio-Streaming. TapHome kommuniziert mit dem Gerät über HTTP mittels UPnP/SOAP-XML-Nachrichten, die an Port 49152 gesendet werden. Die Vorlage zielt auf das Standard-UPnP-AV-Media-Renderer-Profil ab und sollte daher mit jedem Fonestar-Gerät funktionieren, das DLNA implementiert (WA-225W, FONCAST und ähnliche Modelle).

Die Vorlage bietet Lautstärkeregelung, Stummschaltung, Wiedergabesteuerung (Play, Pause, Stop, nächster Titel, vorheriger Titel) und einen Wiedergabemodus-Umschalter. Es ist keine Cloud-Verbindung erforderlich — die gesamte Kommunikation erfolgt im lokalen Netzwerk.

## Konfiguration

Geben Sie beim Import der TapHome-Vorlage die IP-Adresse des Geräts ein. Der Standard-Platzhalter ist `192.168.0.1` und das Gerät lauscht auf Port **49152** (der Standard-UPnP-AV-Port).

Um die IP-Adresse des Geräts zu finden, prüfen Sie die DHCP-Client-Liste Ihres Routers oder verwenden Sie eine UPnP/SSDP-Scanner-App. Der WA-225W meldet sich im lokalen Netzwerk als UPnP-MediaRenderer an. Die Begleit-App MUZO (iOS/Android) zeigt ebenfalls verbundene Geräte und deren IP-Adressen an.

## Gerätefunktionen

### Lautstärkeregelung

Die Vorlage stellt die Lautstärke als Dimmer bereit. Die UPnP-Aktion `GetVolume` gibt einen Wert im Bereich 0–100 zurück, den die Vorlage für das TapHome-Dimmer-Modell auf 0,0–1,0 normalisiert (beim Lesen durch 100 dividiert, beim Schreiben mit 100 multipliziert). Das Einstellen der Lautstärke auf 50 % in TapHome sendet `DesiredVolume=50` an das Gerät.

### Stummschaltung

Die Stummschaltung wird als Schalter bereitgestellt. Sie liest den aktuellen Stummschaltungszustand über `GetMute` (gibt 0 oder 1 zurück) und schreibt über `SetMute`. Beide Operationen zielen auf den Master-Audiokanal des RenderingControl:1-Diensts ab.

### Wiedergabesteuerung

Die Vorlage bietet fünf Tastengeräte zur Wiedergabesteuerung:

- **Play** — sendet die `Play`-Aktion des AVTransport:1-Diensts (nimmt die Wiedergabe auf oder startet sie)
- **Pause** — sendet die `Pause`-Aktion (hält die Wiedergabe an der aktuellen Position an)
- **Stop** — sendet die `Stop`-Aktion (stoppt die Wiedergabe vollständig)
- **Nächster Titel** — sendet die `Next`-Aktion (springt zum nächsten Titel)
- **Vorheriger Titel** — sendet die `Previous`-Aktion (kehrt zum vorherigen Titel zurück)

Dies sind reine Schreib-Tasten. Die Wiedergabe muss zuerst von einer anderen Quelle gestartet werden (z. B. die MUZO-App oder ein anderer DLNA-Controller), da die Vorlage keine `SetAVTransportURI`-Aktion zum Festlegen der Medienquelle enthält.

### Wiedergabemodus

Das Wiedergabemodus-Gerät ist ein Mehrwert-Schalter, der den Wiederholungsmodus über `GetTransportSettings` und `SetPlayMode` steuert. Drei Modi sind funktionsfähig:

| Position | TapHome-Bezeichnung | UPnP PlayMode | Effekt |
|----------|---------------------|---------------|--------|
| 0 | Normal | NORMAL | Sequenzielle Wiedergabe, keine Wiederholung |
| 1 | Repeat All | REPEAT_ALL | Gesamte Warteschlange wiederholen |
| 2 | Repeat One | REPEAT_TRACK | Aktuellen Titel wiederholen |

> [!NOTE]
> Die Vorlage definiert 10 Mehrwert-Positionen, aber nur die Positionen 0–2 entsprechen tatsächlichen UPnP-Wiedergabemodi. Die Positionen 3–9 (bezeichnet als „Shuffle no repeat", „Shuffle" usw.) werden beim Schreiben auf NORMAL gesetzt, da der UPnP-Modus `SHUFFLE` im Vorlagen-Skript nicht zugeordnet ist. Verwenden Sie nur die ersten drei Positionen.

### Weitere Funktionen

Der UPnP-AV-Standard stellt auch Wiedergabezustandsmeldungen (STOPPED, PLAYING, PAUSED), Informationen zu Titelposition und -dauer, URI-Medienverwaltung (SetAVTransportURI zum Einreihen von Titeln), Suchfunktion, Lautstärkeregelung in Dezibel, Loudness-Verbesserung und Rendering-Voreinstellungen bereit. Diese Funktionen können in einem zukünftigen Vorlagen-Update hinzugefügt werden.

## Fehlerbehebung

### Gerät antwortet nicht

1. Stellen Sie sicher, dass der Verstärker eingeschaltet und mit Wi-Fi (oder Ethernet über RJ-45) verbunden ist
2. Bestätigen Sie, dass die IP-Adresse in TapHome mit der aktuellen IP des Geräts übereinstimmt — prüfen Sie die DHCP-Client-Liste Ihres Routers
3. Versuchen Sie, `http://{geraete-ip}:49152/` im Browser aufzurufen — wenn das Gerät erreichbar ist, sollte ein UPnP-Beschreibungs-XML geladen werden
4. Stellen Sie sicher, dass TapHome Core und der Verstärker im selben Netzwerk / VLAN sind — UPnP-Datenverkehr überquert standardmäßig keine Subnetzgrenzen

### Wiedergabe-Tasten haben keine Wirkung

Die Wiedergabe-Tasten (Play, Pause, Stop, Nächster Titel, Vorheriger Titel) funktionieren nur, wenn bereits Medien auf dem Gerät geladen sind. Die Vorlage enthält keine `SetAVTransportURI`-Aktion, daher muss die Wiedergabe zuerst von einer anderen Quelle gestartet werden (z. B. die MUZO-App, ein DLNA-Medienserver oder ein anderer UPnP-Kontrollpunkt). Sobald Medien abgespielt werden, können die TapHome-Tasten die Wiedergabe steuern.

### Lautstärkeänderungen werden nicht übernommen

Wenn Lautstärkeanpassungen aus TapHome keine Wirkung zeigen, stellen Sie sicher, dass das Gerät nicht stummgeschaltet ist. Einige DLNA-Renderer ignorieren Lautstärkeänderungen bei aktiver Stummschaltung. Bestätigen Sie außerdem, dass kein anderer Kontrollpunkt (z. B. die MUZO-App) gleichzeitig widersprüchliche Befehle sendet.

## Verfügbare Geräte 8

Diese Geräte erscheinen nach dem Import in TapHome.

Fonestar Modul

Lautstärke Dimmer Lesen und Schreiben

Hauptlautstärke — UPnP-Bereich 0–100, normalisiert auf die TapHome-Dimmer-Skala (0,0–1,0)

numeric Einheit: %

Level lesen

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

Level schreiben

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

Nächster Titel Taster Lesen und Schreiben

button

Tastenstatus schreiben

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

Pause Taster Lesen und Schreiben

button

Tastenstatus schreiben

```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 Taster Lesen und Schreiben

button

Tastenstatus schreiben

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

Vorheriger Titel Taster Lesen und Schreiben

button

Tastenstatus schreiben

```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 Taster Lesen und Schreiben

button

Tastenstatus schreiben

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

Stummschaltung Schalter Lesen und Schreiben

boolean

Werte / Zustände: ON · OFF

Schaltzustand lesen

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

Schaltzustand schreiben

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

Wiedergabemodus Mehrwertschalter Lesen und Schreiben

Wiederholungsmodus — Normal, Repeat All, Repeat One sind funktional; Positionen 3–9 haben keine UPnP-Zuordnung und werden auf Normal gesetzt

enum

Werte / Zustände: Normal · Repeat all · Repeat one

Schaltzustand lesen

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

Schaltzustand schreiben

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

**Verbindung:** Packet Parser → HTTP

Mögliche Verbesserungen (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)

## Importparameter

Diese Werte geben Sie beim Import des XML ein.

| In der App abgefragt | Standard      |
|----------------------|---------------|
| IP-Adresse           | `192.168.0.1` |

## Quellen

- 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

## Verwandte Dokumentation

- [Packet-Parser-Integration](https://taphome.com/de/compatibility/packet-parser-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/de/docs/integration/packet-parser/)
- [Packet-Parser-Funktionen](https://taphome.com/de/docs/script/packet-parser/)
- [Parsing-Funktionen](https://taphome.com/de/docs/script/parsing-functions/)

