NEWS
Alexa Quittierungston (Ping bzw. "Okay") killen
-
Moin Zusammen,
versuche mich gerade etwas am coden und habe Alexa´s Quittierungscode reduzeirt bekommen.
Alexa redet normal mit euch bei Standardfragen: Wie ist das Wetter heute?
Wenn ihr allerdings zb. Lichter steuert wird der Quittierungston gekillt, dafür einfach folgendes Script verwenden. In diesem Script ist ein Alexagerät benannt.
Es gibt nur eine Voraussetzung, ich braucht den IOT Adapter, dieser reagiert nämlich unverzüglich auf den Sprachbefehl eurer Lampen und Geräte. Über den Alexa Adapter habe ich leider keine Möglichkeit gefunden zuverlässig zu triggern. Meine Lampen laufen bisher eh gesammelt über
Das Skript stellt die Lautstärke des Gerätes entspannt auf 0 und danach wieder auf die Lautstärke die vorher eingestellt war.
Alexa steuert leider mit 10% Lautstärke gegen für den Quittierungston, aber immerhin noch besser als das laute Geräusch.Zeile 2 Seriennummer vom Echo eingeben.
Zeile 5 könnt ihr noch einstellen wie lange Alexa Stummgeschaltet sein soll, nicht unter 1300ms ansonsten funktioniert adaptive Erhöhung nach dem muten nicht
Zeile 6: DEBUG auf true setzen um Infos im Log zu erhalten/***** CONFIG *****/ const SERIAL = 'G091ET14152604Q0'; // Schlafzimmer Echo const VOL_ID = `alexa2.0.Echo-Devices.${SERIAL}.Player.volume`; // 0–100 const TRIGGER_ID = 'iot.0.smart.lastResponse'; const MUTE_MS = 1300; // nicht unter 1300ms ansonsten funktioniert adaptive Erhöhung nicht const DEBUG = true; /***** END CONFIG *****/ function logD(...a){ if (DEBUG) console.log('[Anti-Ping]', ...a); } /** Persistenter Cache (über Neustarts hinweg) */ const CACHE_ID = '0_userdata.0.antiPingEcho.lastVol'; if (!existsState(CACHE_ID)) { createState(CACHE_ID, 30, { name: 'Letzte Echo-Lautstärke >0', type: 'number', read: true, write: true }); } let timer = null; let isMuting = false; let lockUntil = 0; // Debounce function clamp(v){ return Math.max(0, Math.min(100, v)); } function readVol(){ const s = getState(VOL_ID); return (s && typeof s.val === 'number') ? s.val : null; } function saveCachedVol(v){ if (typeof v === 'number' && v > 0) { setState(CACHE_ID, clamp(v), true); // ack=true, reiner Cache logD('Cache gespeichert:', v); } } function readCachedVol(){ const s = getState(CACHE_ID); const v = (s && typeof s.val === 'number') ? s.val : null; return (v !== null && v > 0) ? v : null; } function setVol(v){ setState(VOL_ID, clamp(v), false); // schreiben } /** Lautstärke-Änderungen mitschneiden – aber nicht während Stummschalten */ on({ id: VOL_ID, change: 'ne' }, obj => { const v = obj?.state?.val; if (!isMuting && typeof v === 'number' && v > 0) { saveCachedVol(v); } }); /** Hauptfunktion */ function mutePing(){ const now = Date.now(); if (now < lockUntil) { logD('Debounce aktiv, überspringe Trigger.'); return; } lockUntil = now + 1500; // 1,5s harte Entprellung // Vor dem Mute aktuellen Wert holen; wenn der 0/invalid ist, nimm den persistenten Cache const current = readVol(); const cached = readCachedVol(); const restoreTarget = (typeof current === 'number' && current > 0) ? current : cached; if (restoreTarget === null) { logD('Kein gültiger Restore-Wert vorhanden → kein Restore, nur Mute.'); } else { logD('Geplanter Restore-Wert:', restoreTarget); } if (timer){ clearTimeout(timer); timer = null; } isMuting = true; setVol(0); logD('Echo → Volume 0'); timer = setTimeout(() => { if (restoreTarget !== null) { setVol(restoreTarget); // **keine** 10%-Fallbacks mehr logD(`Echo → Volume wiederhergestellt auf ${restoreTarget}`); } else { logD('Kein Restore möglich (kein Cachewert).'); } isMuting = false; timer = null; }, MUTE_MS); } /** Trigger: kurz bevor Alexa „Okay“ sagt */ on({ id: TRIGGER_ID, change: 'ne' }, obj => { const resp = String(obj?.state?.val || ''); if (/ok|okay|eingeschaltet|ausgeschaltet/i.test(resp)) { logD('Trigger durch Antwort:', resp); mutePing(); } });
-
@nick-the-bird-92 sagte in Alexa Quittierungston (Ping bzw. "Okay") killen:
versuche mich gerade etwas am coden und habe Alexa´s Quittierungscode zuverlässig gekillt bekommen.
warum mit Script?
Kannst direkt in der App machen.- Alexa-App öffnen
- Unten rechts auf Mehr (⋯) tippen
- Einstellungen → Geräteeinstellungen
- Dein Echo-Gerät auswählen
- Runterscrollen zu Töne
- Dort gibt es den Bereich „Audio-Bestätigung“ oder „Sprachfeedback“ (je nach Version der App).
- Deaktivieren – dann macht Alexa keinen Signalton mehr, wenn sie z. B. eine Lampe schaltet.
Du kannst auch sagen:
„Alexa, schalte Audio-Bestätigungen aus.“Danach quittiert Alexa Smart-Home-Befehle nur noch mit einer kurzen Sprachmeldung oder manchmal auch ganz ohne Ton – je nach Einstellung.
-
@negalein Moin, also bei mir gibt es diese Einstellung nicht. Ist die IOS App und aktuell. Es gibt die Anfragetöne: Start der Anfrage und Ende der Anfrage, aber dies ist nicht der Quittierungston (dieser kommt im Kurzmodus), alternative ist bei mir nur das nervige "okay"
Sprachbefehl funktioniert nicht: Meldung: Èntschuldige welches Gerät?
-
Ok, hab gerade bei mir geschaut. Finde es auch nicht mehr (Android).
Habe es schon vor Ewigkeiten deaktiviert. Funktioniert noch immer, obwohl App-Punkt nicht mehr existiert. -
@negalein oha das ist mal fies haha - ich versuche jetzt gerade nur noch das ducking zu deaktivieren - alexa reduziert leider 15 Sekunden lang die Lautstärke des Sonos Gerätes - nicht so schön