<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>SWR1 on Smarthome? Aber sicher!</title><link>https://smarthome-aber-sicher.de/tags/swr1/</link><description>Recent content in SWR1 on Smarthome? Aber sicher!</description><generator>Hugo -- gohugo.io</generator><language>de-de</language><lastBuildDate>Thu, 03 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://smarthome-aber-sicher.de/tags/swr1/index.xml" rel="self" type="application/rss+xml"/><item><title>Mein Radio schaltet seine Werbung selbst stumm</title><link>https://smarthome-aber-sicher.de/blog/2026/09/03/radiowerbung-stummschalten/</link><pubDate>Thu, 03 Sep 2026 00:00:00 +0000</pubDate><guid>https://smarthome-aber-sicher.de/blog/2026/09/03/radiowerbung-stummschalten/</guid><description>&lt;img src="https://smarthome-aber-sicher.de/blog/2026/09/03/radiowerbung-stummschalten/cover.jpeg" alt="Featured image of post Mein Radio schaltet seine Werbung selbst stumm" /&gt;&lt;p&gt;Halb sieben, Badezimmer, das Radio läuft. Musik, Nachrichten, Verkehrsservice – und dann der erste Werbejingle des Tages. Der bricht nach einem Wimpernschlag ab. Niemand hat auf eine Taste gedrückt. Der Lautsprecher hat sich selbst stumm geschaltet.&lt;/p&gt;
&lt;p&gt;Dahinter steckt kein Sprachmodell, das Werbung erkennt, kein Audio-Fingerprinting und kein Abo. Dahinter steckt eine Automation mit zwei Auslösern – und ein Sender, der freiwillig mitteilt, dass jetzt Werbung läuft.&lt;/p&gt;
&lt;p&gt;Das ist der eigentliche Witz an der Sache: Die Erkennung musste ich gar nicht bauen. &lt;strong&gt;SWR1 liefert sie gratis mit.&lt;/strong&gt;&lt;/p&gt;
&lt;div class="video-wrapper"&gt;
&lt;div class="video-placeholder" data-embed="https://www.youtube-nocookie.com/embed/0oE15Q0opDc?autoplay=1" onclick="loadYtIframe(this)"&gt;
&lt;img src="https://smarthome-aber-sicher.de/maxresdefault_5527422756168050405_hu_faac89210117ef25.jpg" alt="YouTube Video" loading="lazy"&gt;
&lt;div class="play-button"&gt;&lt;/div&gt;
&lt;div class="privacy-notice"&gt;
Zum Aktivieren des Videos musst Du auf das Bild klicken. Ich möchte Dich darauf hinweisen, dass durch die Aktivierung Daten an YouTube übermittelt werden.
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 id="der-sender-verrät-es-selbst"&gt;Der Sender verrät es selbst
&lt;/h2&gt;&lt;p&gt;Jeder Radiosender schickt neben dem Ton einen kleinen Textkanal mit. Bei UKW heißt das RDS-Radiotext, beim Internet-Stream kommt derselbe Text als Titel-Metadaten an. Ob der Sender dafür intern wirklich dieselbe Quelle anzapft, weiß ich nicht – für uns zählt nur, dass am Lautsprecher derselbe Text ankommt.&lt;/p&gt;
&lt;p&gt;Der entscheidende Punkt: Dieses Textfeld ist &lt;strong&gt;kein statischer Sendername&lt;/strong&gt;. Es wechselt ständig. Bei SWR1 stand dort in einer Stichprobe an einem einzigen Morgen unter anderem das hier:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Walk of life / Dire Straits
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Get lucky / Daft Punk feat. Pharrell Williams
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;I don&amp;#39;t like Mondays / The Boomtown Rats
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Something stupid / Robbie Williams &amp;amp; Nicole Kidman
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Guten Morgen Baden-Württemberg mit Cora Klausnitzer &amp;amp; Matthias
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SWR1 Baden-Württemberg Verkehrsservice
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SWR1 Stau-Hotline: 0711-929 10 100
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Aktuelle Nachrichten auch auf swr1.de
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Nachricht über die SWR1 App
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SWR1 Baden-Württemberg
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Werbung in SWR1 ← der Marker, auf den alles hört
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Titel, Interpret, Moderation, Verkehrsservice, Telefonnummern – und mittendrin die Ansage, dass gerade Werbung läuft. Der Sender sagt es, weil das Feld ohnehin gepflegt wird. Niemand hat sich dabei gedacht, dass jemand darauf eine Stummschaltung baut.&lt;/p&gt;
&lt;p&gt;Mein Sonos-Lautsprecher liest diese Metadaten aus dem Stream, und die Sonos-Integration reicht sie in Home Assistant als Attribut &lt;code&gt;media_title&lt;/code&gt; durch. Damit ist der Werbeblock ein ganz normaler Zustandswechsel im System – und alles, was Home Assistant mit Zustandswechseln kann, geht damit auch.&lt;/p&gt;
&lt;p&gt;Die Signalkette ist kurz:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;SWR1 Sendebetrieb
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; └─ Radiotext im Stream (&amp;#34;Werbung in SWR1&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; └─ Sonos-Lautsprecher liest die Stream-Metadaten
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; └─ Sonos-Integration exponiert sie als Attribut media_title
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; └─ Automation triggert auf den exakten Text
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; └─ media_player.volume_mute
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="schritt-1-finde-den-marker-deines-senders"&gt;Schritt 1: Finde den Marker deines Senders
&lt;/h2&gt;&lt;p&gt;Das ist der wichtigste Abschnitt dieses Artikels, denn &lt;code&gt;Werbung in SWR1&lt;/code&gt; funktioniert &lt;strong&gt;ausschließlich bei SWR1 Baden-Württemberg&lt;/strong&gt;. Andere Sender formulieren anders oder senden gar keinen Marker. Bevor du irgendetwas baust, musst du also nachsehen, was dein Sender tatsächlich mitschickt.&lt;/p&gt;
&lt;p&gt;So gehst du vor:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Radio auf deinem Wunschsender laufen lassen – über den Lautsprecher, den du später steuern willst.&lt;/li&gt;
&lt;li&gt;In Home Assistant &lt;strong&gt;Entwicklerwerkzeuge → Zustände&lt;/strong&gt; öffnen.&lt;/li&gt;
&lt;li&gt;Deine Media-Player-Entität heraussuchen, zum Beispiel &lt;code&gt;media_player.bad&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;In der Attributspalte &lt;code&gt;media_title&lt;/code&gt; beobachten, während ein Werbeblock läuft.&lt;/li&gt;
&lt;li&gt;Den Text &lt;strong&gt;exakt&lt;/strong&gt; notieren: Groß- und Kleinschreibung, Leerzeichen, Sonderzeichen. Der Trigger vergleicht zeichengenau.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Schneller geht es unter &lt;strong&gt;Entwicklerwerkzeuge → Vorlage&lt;/strong&gt;. Diese Zeile zeigt dir den aktuellen Radiotext live, ohne dass du in einer langen Attributliste suchen musst:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-jinja" data-lang="jinja"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;{{&lt;/span&gt; &lt;span class="nv"&gt;state_attr&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;media_player.bad&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;media_title&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="cp"&gt;}}&lt;/span&gt;&lt;span class="x"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Wenn du nicht neben dem Bildschirm sitzen und auf den Werbeblock warten willst, spiegle den Radiotext in einen Template-Sensor. Dann taucht er im Verlauf auf und du kannst in Ruhe nachlesen, was über den Tag so durchgelaufen ist:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;template&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;sensor&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Radiotext Bad&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;state&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;{{ state_attr(&amp;#39;media_player.bad&amp;#39;, &amp;#39;media_title&amp;#39;) }}&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Findest du keinen brauchbaren Marker, ist an dieser Stelle Schluss – dann sendet dein Sender die Information schlicht nicht mit. Das ist ärgerlich, aber ehrlicherweise der wahrscheinlichere Fall. Bei SWR1 hatte ich Glück.&lt;/p&gt;
&lt;h2 id="schritt-2-zwei-trigger-ein-if"&gt;Schritt 2: Zwei Trigger, ein &lt;code&gt;if&lt;/code&gt;
&lt;/h2&gt;&lt;p&gt;Jetzt kommt die Zutat, die viele nicht auf dem Schirm haben: &lt;strong&gt;Home Assistant kann auf die Änderung eines Attributs triggern, nicht nur auf einen Zustandswechsel.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Der Zustand meines Lautsprechers ist die ganze Zeit &lt;code&gt;playing&lt;/code&gt;. Er ändert sich nicht, wenn die Werbung anfängt – es läuft ja weiter Ton. Was sich ändert, ist das Attribut &lt;code&gt;media_title&lt;/code&gt;. Genau darauf horcht der Trigger über die Zeile &lt;code&gt;attribute: media_title&lt;/code&gt;. Ohne die würde die Automation nie auslösen. Wenn dir die Trigger-Grundlagen noch fehlen, fang bei &lt;a class="link" href="https://smarthome-aber-sicher.de/post/ha-az/01-automationen/" &gt;Home Assistant A-Z: A wie Automationen&lt;/a&gt; an.&lt;/p&gt;
&lt;p&gt;Der zweite Trick ist die Symmetrie:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;to: Werbung in SWR1&lt;/code&gt; – der Radiotext wechselt &lt;strong&gt;auf&lt;/strong&gt; den Marker: Werbung fängt an, stumm schalten.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;from: Werbung in SWR1&lt;/code&gt; – der Radiotext wechselt &lt;strong&gt;weg&lt;/strong&gt; vom Marker: Werbung ist vorbei, Ton wieder an.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Zwei Trigger, zwei IDs, ein &lt;code&gt;if&lt;/code&gt;. Mehr ist es nicht:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;span class="lnt"&gt;14
&lt;/span&gt;&lt;span class="lnt"&gt;15
&lt;/span&gt;&lt;span class="lnt"&gt;16
&lt;/span&gt;&lt;span class="lnt"&gt;17
&lt;/span&gt;&lt;span class="lnt"&gt;18
&lt;/span&gt;&lt;span class="lnt"&gt;19
&lt;/span&gt;&lt;span class="lnt"&gt;20
&lt;/span&gt;&lt;span class="lnt"&gt;21
&lt;/span&gt;&lt;span class="lnt"&gt;22
&lt;/span&gt;&lt;span class="lnt"&gt;23
&lt;/span&gt;&lt;span class="lnt"&gt;24
&lt;/span&gt;&lt;span class="lnt"&gt;25
&lt;/span&gt;&lt;span class="lnt"&gt;26
&lt;/span&gt;&lt;span class="lnt"&gt;27
&lt;/span&gt;&lt;span class="lnt"&gt;28
&lt;/span&gt;&lt;span class="lnt"&gt;29
&lt;/span&gt;&lt;span class="lnt"&gt;30
&lt;/span&gt;&lt;span class="lnt"&gt;31
&lt;/span&gt;&lt;span class="lnt"&gt;32
&lt;/span&gt;&lt;span class="lnt"&gt;33
&lt;/span&gt;&lt;span class="lnt"&gt;34
&lt;/span&gt;&lt;span class="lnt"&gt;35
&lt;/span&gt;&lt;span class="lnt"&gt;36
&lt;/span&gt;&lt;span class="lnt"&gt;37
&lt;/span&gt;&lt;span class="lnt"&gt;38
&lt;/span&gt;&lt;span class="lnt"&gt;39
&lt;/span&gt;&lt;span class="lnt"&gt;40
&lt;/span&gt;&lt;span class="lnt"&gt;41
&lt;/span&gt;&lt;span class="lnt"&gt;42
&lt;/span&gt;&lt;span class="lnt"&gt;43
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;blueprint&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Sonos bei Werbung Stumm schalten&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;description&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Schaltet die Wiedergabe auf Stumm wenn im RDS ein Hinweis auf Werbung übertragen wird&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;domain&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;automation&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;input&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;media_player&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Media-Player&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;description&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Die Media-Player Entity, die gesteuert werden soll&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;selector&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;entity&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;domain&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;media_player&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;trigger&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- &lt;span class="nt"&gt;platform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;state&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;entity_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- !&lt;span class="l"&gt;input media_player&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;attribute&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;media_title&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;to&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Werbung in SWR1&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;mute&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- &lt;span class="nt"&gt;platform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;state&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;entity_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- !&lt;span class="l"&gt;input media_player&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;attribute&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;media_title&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;from&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;Werbung in SWR1&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;unmute&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;condition&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;action&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- &lt;span class="nt"&gt;if&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;condition&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;trigger&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;mute&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;then&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;service&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;media_player.volume_mute&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;data&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;is_volume_muted&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;target&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;entity_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;!&lt;span class="l"&gt;input media_player&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;service&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;media_player.volume_mute&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;data&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;is_volume_muted&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;target&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;entity_id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;!&lt;span class="l"&gt;input media_player&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Zum Einbauen legst du die Datei in deiner Home-Assistant-Konfiguration unter &lt;code&gt;blueprints/automation/&amp;lt;dein-name&amp;gt;/sonos_ad_mute.yaml&lt;/code&gt; ab, lädst die Blueprints unter &lt;strong&gt;Einstellungen → Automationen &amp;amp; Szenen → Blueprints&lt;/strong&gt; neu und legst darüber deine Automationen an. Wie Blueprints grundsätzlich funktionieren, steht in &lt;a class="link" href="https://smarthome-aber-sicher.de/post/ha-az/02-blueprints/" &gt;Home Assistant A-Z: B wie Blueprints&lt;/a&gt;. Du kannst den Inhalt ab &lt;code&gt;trigger:&lt;/code&gt; aber auch einfach als normale Automation einfügen und &lt;code&gt;!input media_player&lt;/code&gt; durch deine Entität ersetzen.&lt;/p&gt;
&lt;p&gt;Zwei Anmerkungen zum Code, die ich dir nicht unterschlagen will:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Die Schreibweise ist die klassische.&lt;/strong&gt; &lt;code&gt;platform:&lt;/code&gt; und &lt;code&gt;service:&lt;/code&gt; sind die alte Form; neuere Home-Assistant-Versionen schreiben lieber &lt;code&gt;triggers:&lt;/code&gt; und &lt;code&gt;actions:&lt;/code&gt;. Die alte Form funktioniert weiterhin, und weil das hier mein produktiv laufender Blueprint ist, zeige ich ihn genau so, wie er bei mir liegt.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Der &lt;code&gt;else&lt;/code&gt;-Zweig ist bewusst simpel – und genau deshalb eine Sackgasse.&lt;/strong&gt; Er entstummt bei jedem Trigger, der nicht &lt;code&gt;mute&lt;/code&gt; heißt. Bei exakt zwei Triggern ist das sauber. Sobald du einen dritten hinzufügst, entstummt der ebenfalls, und du hast einen Fehler, den du lange suchst. Wer erweitern will, baut das &lt;code&gt;if/else&lt;/code&gt; vorher in ein &lt;code&gt;choose&lt;/code&gt; um. Diese Art von Fallstricken sammle ich in &lt;a class="link" href="https://smarthome-aber-sicher.de/post/ha-5-automation-fehler/" &gt;5 Automations-Fehler, die in Home Assistant jeder macht&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="wenn-dein-sender-nicht-so-eindeutig-funkt"&gt;Wenn dein Sender nicht so eindeutig funkt
&lt;/h2&gt;&lt;p&gt;Bei SWR1 ist der Text immer identisch, deshalb reicht der exakte Vergleich. Sendet dein Sender variierende Texte – etwa mit angehängter Uhrzeit oder wechselnden Formulierungen –, brauchst du einen Trigger, der auf ein Textstück prüft statt auf den ganzen String:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;span class="lnt"&gt;8
&lt;/span&gt;&lt;span class="lnt"&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;trigger&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- &lt;span class="nt"&gt;platform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;template&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;value_template&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="sd"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; {{ &amp;#39;Werbung&amp;#39; in (state_attr(&amp;#39;media_player.bad&amp;#39;, &amp;#39;media_title&amp;#39;) or &amp;#39;&amp;#39;) }}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;mute&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- &lt;span class="nt"&gt;platform&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;template&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;value_template&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;&lt;span class="sd"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="sd"&gt; {{ &amp;#39;Werbung&amp;#39; not in (state_attr(&amp;#39;media_player.bad&amp;#39;, &amp;#39;media_title&amp;#39;) or &amp;#39;&amp;#39;) }}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;unmute&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Achtung:&lt;/strong&gt; Diese Variante läuft bei mir &lt;em&gt;nicht&lt;/em&gt; im Einsatz – ich brauche sie nicht. Sie ist der naheliegende Weg, aber ungetestet. Wenn du sie nachbaust, prüfe besonders, dass das Wort nicht zufällig auch in Songtiteln oder Programmhinweisen auftaucht. Sonst schaltet dein Radio bei einem Beitrag über Werbeagenturen fröhlich stumm.&lt;/p&gt;
&lt;h2 id="eine-automation-pro-lautsprecher"&gt;Eine Automation pro Lautsprecher
&lt;/h2&gt;&lt;p&gt;Der Blueprint ist bei mir fünfmal instanziiert – einmal pro Raum:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Raum&lt;/th&gt;
&lt;th&gt;Entität&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Arbeitszimmer&lt;/td&gt;
&lt;td&gt;&lt;code&gt;media_player.arbeitszimmer&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Schlafzimmer&lt;/td&gt;
&lt;td&gt;&lt;code&gt;media_player.schlafzimmer&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bad&lt;/td&gt;
&lt;td&gt;&lt;code&gt;media_player.bad&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Wohnzimmer&lt;/td&gt;
&lt;td&gt;&lt;code&gt;media_player.wohnzimmer&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Terrasse&lt;/td&gt;
&lt;td&gt;&lt;code&gt;media_player.terrasse&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Das sieht nach unnötiger Kopierarbeit aus, ist aber notwendig: &lt;strong&gt;Stummschaltung ist bei Sonos eine Eigenschaft des einzelnen Lautsprechers.&lt;/strong&gt; Auch wenn mehrere Boxen zu einer Gruppe zusammengefasst sind, muss jede einzeln stumm geschaltet werden. Genau dafür ist ein Blueprint ja gemacht – fünfmal anklicken, fünfmal eine Entität auswählen, fertig. Was die fünf Lautsprecher sonst noch an Strom ziehen und wie ich sie nachts abschalte, steht in &lt;a class="link" href="https://smarthome-aber-sicher.de/post/5-energiespar-tipps/" &gt;5 Smart-Home-Automationen: Strom sparen mit Home Assistant&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="zehn-tage-recorder-was-macht-das-im-alltag"&gt;Zehn Tage Recorder: Was macht das im Alltag?
&lt;/h2&gt;&lt;p&gt;So eine Automation läuft leise vor sich hin, und nach ein paar Wochen weiß man nicht mehr, ob sie überhaupt noch etwas tut. Also habe ich meine Home-Assistant-Datenbank ausgewertet, Zeitraum &lt;strong&gt;17. bis 27. August 2026&lt;/strong&gt;, also zehn Tage.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ergebnis: 73 erkannte Werbeblöcke – und die Automation hat seit der Einrichtung zuverlässig funktioniert.&lt;/strong&gt; Kein einziger Fall, in dem der Marker im Radiotext stand und die Stummschaltung ausblieb.&lt;/p&gt;
&lt;p&gt;Fast alle Auslösungen liegen zwischen 6 und 9 Uhr morgens:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Stunde&lt;/th&gt;
&lt;th&gt;Werbeblöcke&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;06:00&lt;/td&gt;
&lt;td&gt;44&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;07:00&lt;/td&gt;
&lt;td&gt;15&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;08:00&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;12:00&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;13:00&lt;/td&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;18:00&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Bevor du daraus liest, SWR1 würde morgens besonders viel Werbung senden: Das zeigen diese Zahlen nicht. Sie zeigen nur, wann bei mir das Radio läuft – nämlich fast ausschließlich morgens, als Wecker und Frühstücksbegleitung. Ich habe keine Daten darüber, wie viele Stunden ich zu welcher Tageszeit höre, und ohne diesen Nenner ist die Verteilung kein Beleg für Werbezeiten, sondern schlicht ein Abbild meiner Hörgewohnheiten. Was die Zahlen tatsächlich zeigen: Immer wenn das Radio läuft, greift die Automation zuverlässig.&lt;/p&gt;
&lt;p&gt;Zur Länge der Blöcke: Bei 31 Blöcken ließ sich ein sauberes Ende messen, 30 davon lagen im plausiblen Bereich.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Median: 117 Sekunden&lt;/strong&gt; – knapp zwei Minuten pro Werbeblock&lt;/li&gt;
&lt;li&gt;Mittelwert: 97 Sekunden&lt;/li&gt;
&lt;li&gt;Spanne: 17 bis 150 Sekunden&lt;/li&gt;
&lt;li&gt;Summe dieser 30 Blöcke: rund &lt;strong&gt;49 Minuten Stille in zehn Tagen&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Rechnet man den Median auf alle 73 Blöcke hoch, landet man bei gut zwei Stunden – das ist aber eine Schätzung, keine Messung, deshalb nenne ich lieber die 49 Minuten, die tatsächlich in den Daten stehen.&lt;/p&gt;
&lt;p&gt;Eine Kleinigkeit aus der Auswertung, die ich mitnehme: Ein Block schlug mit 2216 Sekunden zu Buche, also über 36 Minuten. So lange ist kein Werbeblock. Was wirklich passiert war: Der Lautsprecher wurde mitten in der Werbung ausgeschaltet, der Radiotext blieb stehen, und das Ende wurde erst beim nächsten Einschalten registriert. Kein Fehler der Automation, aber ein gutes Beispiel dafür, warum man Rohdaten aus dem Recorder nicht ungefiltert in eine Statistik kippt.&lt;/p&gt;
&lt;h2 id="wo-die-grenzen-liegen"&gt;Wo die Grenzen liegen
&lt;/h2&gt;&lt;p&gt;Damit du weißt, worauf du dich einlässt – fünf Einschränkungen, die alle real sind:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1. Der Marker ist hart verdrahtet und senderspezifisch.&lt;/strong&gt; &lt;code&gt;Werbung in SWR1&lt;/code&gt; gilt für SWR1 Baden-Württemberg und sonst nirgends. Ob andere SWR-Sender denselben Text verwenden, habe ich nicht getestet. Deshalb steht der Beobachtungsschritt oben so weit vorne: Er ist der eigentliche Nachbau.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. Es wird stumm geschaltet, nicht übersprungen.&lt;/strong&gt; Die Werbezeit läuft weiter, es ist nur still. Bei einem Live-Stream geht das gar nicht anders – es gibt nichts, wohin man springen könnte.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. Nur Radio-Streams mit Metadaten.&lt;/strong&gt; Bei Spotify, bei Musik aus der eigenen Bibliothek oder über Line-In gibt es kein solches Feld. Das Verfahren hängt vollständig daran, dass ein Sender freiwillig etwas mitschickt.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4. Eine Automation pro Lautsprecher&lt;/strong&gt;, siehe oben.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;5. Die Automation ist der Chef über die Stummschaltung.&lt;/strong&gt; Wenn du deinen Lautsprecher aus einem eigenen Grund stumm schaltest und in dieser Zeit ein Werbeblock endet, hebt die Automation deine Stummschaltung auf. Das passiert selten und tut nicht weh, aber durchdacht ist die Interaktion nicht.&lt;/p&gt;
&lt;p&gt;Und eine Zahl, die ich mit der Stoppuhr nachgeprüft habe, statt sie zu schätzen: die Latenz. Wie viele Sekunden Werbung durchkommen, bevor der Ton weg ist, hängt daran, wie schnell der Lautsprecher die Stream-Metadaten aktualisiert und die Integration das Ereignis weiterreicht. Bei mir sind das im Schnitt &lt;strong&gt;ein bis zwei Sekunden&lt;/strong&gt; – der Werbejingle ist gerade eben hörbar angesetzt, dann ist Ruhe.&lt;/p&gt;
&lt;h2 id="fazit"&gt;Fazit
&lt;/h2&gt;&lt;p&gt;Der Reiz an dieser Automation ist nicht die Automation. Die ist trivial: zwei Trigger, eine Verzweigung, zwei Zeilen Aktion.&lt;/p&gt;
&lt;p&gt;Der Reiz ist, dass ein Problem, das nach Machine Learning und Audioanalyse klingt, sich in Luft auflöst, sobald man an der richtigen Stelle nachsieht. Die Information war die ganze Zeit da. Sie stand nur in einem Feld, in das niemand schaut.&lt;/p&gt;
&lt;p&gt;Das ist ein Muster, das im Smart Home öfter funktioniert, als man denkt: Bevor du anfängst, etwas zu erkennen, schau nach, ob es dir jemand schon sagt. Attribute von Entitäten sind dafür eine unterschätzte Fundgrube – und dass Home Assistant direkt auf sie triggern kann, macht sie sofort nutzbar.&lt;/p&gt;
&lt;p&gt;Was steht bei dir in &lt;code&gt;media_title&lt;/code&gt;, wenn dein Sender Werbung spielt? Schreib es mir in die Kommentare – ich bin neugierig, welche Sender das noch mitliefern.&lt;/p&gt;</description></item></channel></rss>