Mute amazonechocontrol

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Oekel
Beiträge: 142
Registriert: 28. Aug 2021 10:34
Answers: 0

Mute amazonechocontrol

Beitrag von Oekel »

Moin,

da ich keinen direkten "Switch" für Mute im Binding gefunden habe bastelte ich mir einen Virtuellen, welcher den "Dimmer" meiner TTS-Lautstärken von 60% auf 0% toggled.

Das der Switch funktioniert merke ich deutlich an der Läutstärke. ABER 0% lässt das Biest nicht wirklich schweigen sondern bringt die Ausgabe trotzdem (recht leise).

Hat Jemand eine Idee, wie ich dies fixen kann? (Also echte 0%)
Ich möchte ungern einen "Feature-Toggel" in all meine Regeln bauen, die TTS-Ausgaben verweden.
(Vor allem weil viele TTS abhängig von den Regelwerten sind und das Splitten in eine Basic+TTS Regel ---- welche ich dann deaktivieren könnte ---- friemelig wird)

LG

Harka
Beiträge: 308
Registriert: 30. Apr 2021 13:13
Answers: 15

Re: Mute amazonechocontrol

Beitrag von Harka »

Moin,
0% geht hier auch erfolgreich mit "OFF" an den Lautstärke-Dimmer

Benutzeravatar
udo1toni
Beiträge: 13986
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Mute amazonechocontrol

Beitrag von udo1toni »

Keine Ahnung, wie Du die Dinger stumm bekommst (mir kommt sowas nicht ins Haus...) aber was die komplizierte Stummschaltung pro Sprachausgabe betrifft, so gibt es da ein paar Möglichkeiten:
1. Du führt eine bedingte Verzweigung pro Sprachausgabe ein:

Code: Alles auswählen

if(bTalk) echoTalk.sendCommand("Blabliblub")
wobei bTalk eine globale Variable wäre:

Code: Alles auswählen

var Boolean bTalk = true
und über die Variable kannst Du dann nach Belieben mittels

Code: Alles auswählen

bTalk = false
die Sprachausgabe ausschalten.
Das Ganze geht natürlich auch per Switch Item, die globale Variable ist aber schneller :) und nimmt weniger Platz im Code weg. Du musst nur das if(bTalk) vor jede Sprachausgabe setzen und schon ist Ruhe im Karton.

2. Du organisierst Dein Meldewesen.
Dazu schreibst Du eine Rule, welche auf ein Update eines Items triggert (meinetwegen ein String Item Meldung). Diese Rule schreibst Du so, dass die verschiedenen Nachrichtenwege angesteuert werden, unter anderem auch die Sprachausgabe, natürlich mit der "Stummschaltung". In den Rules, in denen Du eine Meldung absetzen willst, sendest Du dann lediglich ein Meldung.postUpdate(Meldetext). Es handelt sich dann quasi um ein Unterprogramm, welches sich nur um die Ausgabe der Meldungen kümmert.
Das funktioniert natürlich nur so lange, wie die Meldetexte für die verschiedenen Wege immer identisch sind. Verschiedene Ziele könnte man aber auch relativ leicht realisieren, indem man den Meldetext z.B. vorne mit einer Zahl versieht, die dann (evtl. binär codiert) die aktiven Ziele wählt. Die Meldungs-Rule muss dann lediglich diese Zahl vorher extrahieren und entsprechend reagieren.

Die zweite Variante ist natürlich wesentlich aufwändiger - insbesondere wenn man das Ganze noch individualisiert (wie angedeutet), dafür hast Du dann volle Kontrolle.
Die erste Variante ist aber dafür sehr leicht umzusetzen und bedeutet keinen großen Aufwand.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Oekel
Beiträge: 142
Registriert: 28. Aug 2021 10:34
Answers: 0

Re: Mute amazonechocontrol

Beitrag von Oekel »

udo1toni hat geschrieben: 9. Feb 2024 01:09 Keine Ahnung, wie Du die Dinger stumm bekommst (mir kommt sowas nicht ins Haus...)
Ich verwende wirklich nur die TTS Funktion davon. Den Rückweg (also Zugriff auf OH würde ich dem Teufel niemals geben)
Eine Überlegung wert war es damals, als diese für 15€/Stück neu zu haben waren.
Derzeit finde ich leider keine derartigen Aktionen mehr und ich befürchte auch den "Echo Flex" haben Sie aus gleichen Gründen wie die A-Klasse aus dem Sortiment genommen. ;)

udo1toni hat geschrieben: 9. Feb 2024 01:09 ...
Die zweite Variante ist natürlich wesentlich aufwändiger - insbesondere wenn man das Ganze noch individualisiert (wie angedeutet), dafür hast Du dann volle Kontrolle.
Die erste Variante ist aber dafür sehr leicht umzusetzen und bedeutet keinen großen Aufwand.
Gefällt mir aber sehr gut und werde ich so umsetzen. Danke!

Antworten