NEWS
Lautstärke über Fritzbox / tr-064 steuern
-
Ich möchte gerne meine Echo-Lautsprecher bei einem Anruf leiser stellen und nach dem Gespräch wieder auf die vorherige Lautstärke zurücksetzen.
Gedacht hatte ich mir das folgendermaßen:
Leiser machen funktioniert, nur nach dem Anruf, wenn der counter erhöht wurde, bleibt es leise. Wo ist der Haken?
-
@thomas-braun
"ringing" ändert sich auf true, wenn es klingelt? Falls ja, ändere den Trigger auf "ist größer als letztes". -
@paul53
Okay, erledigt. Aber das ändert doch nichts beim Setzen / Lesen der Variablen 'lautstaerke_ueberall'? -
@thomas-braun sagte: das ändert doch nichts beim Setzen / Lesen der Variablen 'lautstaerke_ueberall'?
Doch: Bei "wurde aktualisiert" wird die Variable auf 10 gesetzt, wenn "ringing" false wird.
-
@thomas-braun dann bau doch mal ein Paar debugs ein.
Dann siehst du es -
Aber keine Änderung im Verhalten. Wenn der Anruf beendet wird (count wird dann erhöht) bleibt es bei Lautstärke 10.
-
@thomas-braun sagte: keine Änderung im Verhalten.
Es kann natürlich mehrmals klingeln. Auch dann wird die Variable auf 10 gesetzt. Bau eine Sperrvariable ein, und frage diese im oberen Trigger ab. Vorschlag:
-
-
@thomas-braun sagte in Lautstärke über Fritzbox / tr-064 steuern:
Bleibt aber Leise nach Beendigung des Anrufs.
@homoran sagte in Lautstärke über Fritzbox / tr-064 steuern:
@thomas-braun dann bau doch mal ein Paar debugs ein.
Dann siehst du es -
2022-01-29 16:36:28.753 - info: javascript.0 (10682) script.js.common.telefon_klingelt: Eingehender Anruf - Lautstärke wird vermindert 2022-01-29 16:36:37.129 - info: javascript.0 (10682) script.js.common.telefon_klingelt: Anruf beendet - Lautstärke wird auf den vorherigen Wert erhöht.
Es bleibt aber bei Lautstärke 10
-
@thomas-braun sagte in Lautstärke über Fritzbox / tr-064 steuern:
Es bleibt aber bei Lautstärke 10
du sollst ja auch keinen eigenen text da reinprügeln, sondern Werte die für dich oder die Logik interessant sind anzeigen lassen
-
Das kapier ich nicht. Der Debug-Output wird doch ausgelöst.
Und das es nicht wieder lauter wird höre ich.
-
@thomas-braun sagte in Lautstärke über Fritzbox / tr-064 steuern:
Das kapier ich nicht. Der Debug-Output wird doch ausgelöst.
Aber du weisst nicht warum.
gib doch mal z.B. den Wert der Lautstärke volume am Anfang aus -
Bin ich zu blöde für. Ich bekomme da nur Text in den Debug-Baustein, keine Werte aus Datenpunkten.
Stimmt da was mit den Variablen nicht? Warum ist timeout da zweimal drin?
var lautstaerke_ueberall, timeout, timeout; on({id: 'tr-064.0.callmonitor.ringing', change: "gt"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (!timeout) { lautstaerke_ueberall = getState("alias.0.alexa_ueberall_gruppe.volume").val; console.log('Eingehender Anruf - Lautstärke wird vermindert'); setState("alias.0.alexa_ueberall_gruppe.volume"/*volume*/, 10); timeout = setTimeout(async function () { timeout = null; }, 120000); } }); on({id: 'tr-064.0.calllists.all.count', change: "gt"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; console.log('Anruf beendet - Lautstärke wird auf den vorherigen Wert erhöht.'); timeout = null; setState("alias.0.alexa_ueberall_gruppe.volume"/*volume*/, lautstaerke_ueberall); });
-
@thomas-braun sagte in Lautstärke über Fritzbox / tr-064 steuern:
Ich bekomme da nur Text in den Debug-Baustein, keine Werte aus Datenpunkten.
nimm den multi-Text-Baustein "erstelle Text aus..."
-
@thomas-braun sagte in Lautstärke über Fritzbox / tr-064 steuern:
Warum ist timeout da zweimal drin?
Da darf nur einmal timeout stehen. Selektiere die andere Variable timeout bis nur noch eine Variable timeout in der Javascript-Ansicht vorhanden ist.
-
Danke, hab es jetzt funktionierend hinbekommen.
Der Hauptfehler war: Ich hatte die bestehende Lautstärke nicht aus dem Datenpunkt (hier alexa2) genommen sondern aus dem alias-Adapter. Aber da stand immer 10 drin.