NEWS
Alexa Lautstärkesteuerung via Blockly sehr unzuverlässig
-
@bananajoe sagte in Alexa Lautstärkesteuerung via Blockly sehr unzuverlässig:
Wenn also jeder Dreh den Wert um 1 verringert oder erhöht - da
Nur mal als kleiner Hinweis, die Echolautstärke funktioniert auch nicht in 1er Schritten.
Volume ist immer 0, 3, 7, 10, 13... usw.
Alles dazwischen wird von Amazon automatisch auf- oder abgerundet. -
@padrino sagte in Alexa Lautstärkesteuerung via Blockly sehr unzuverlässig:
@bananajoe sagte in Alexa Lautstärkesteuerung via Blockly sehr unzuverlässig:
Wenn also jeder Dreh den Wert um 1 verringert oder erhöht - da
Nur mal als kleiner Hinweis, die Echolautstärke funktioniert auch nicht in 1er Schritten.
Volume ist immer 0, 3, 7, 10, 13... usw.
Alles dazwischen wird von Amazon automatisch auf- oder abgerundet.Oh, das funktioniert schon wenn ich den Datenpunkt setze, in diesem Kontext wird jeder Wert zwischen 1 und 100 genommen wenn ich diesen setze, mir ist da noch kein runden aufgefallen. Ich hab diverse Echo in der Lautstärke zueinander feineingestellt, Hauptlautstärke setze ich wie oben beschrieben (erst Wert wählen, dann setzen)
-
@bananajoe sagte in Alexa Lautstärkesteuerung via Blockly sehr unzuverlässig:
@padrino sagte in Alexa Lautstärkesteuerung via Blockly sehr unzuverlässig:
@bananajoe sagte in Alexa Lautstärkesteuerung via Blockly sehr unzuverlässig:
Wenn also jeder Dreh den Wert um 1 verringert oder erhöht - da
Nur mal als kleiner Hinweis, die Echolautstärke funktioniert auch nicht in 1er Schritten.
Volume ist immer 0, 3, 7, 10, 13... usw.
Alles dazwischen wird von Amazon automatisch auf- oder abgerundet.Oh, das funktioniert schon wenn ich den Datenpunkt setze, in diesem Kontext wird jeder Wert zwischen 1 und 100 genommen wenn ich diesen setze, mir ist da noch kein runden aufgefallen. Ich hab diverse Echo in der Lautstärke zueinander feineingestellt, Hauptlautstärke setze ich wie oben beschrieben (erst Wert wählen, dann setzen)
Hm, das wäre dann aber neu, bzw. "Back to the roots"
Ging früher, dann hat es Amazon abgeschaft und den +/- Tasten am Gerät angepasst...
-
@padrino Also gerade noch mal getestet: Ich kann - über den Alexa Adapter - jeden Wert zwischen 1 und 100 einstellen. Kein Runden. Direkt am Gerät oder per Sprache ist es anders, da sind es 10er Schritte. Und das ist auch akustisch zu hören (1er Schritt schwer zu unterscheiden, aber einen Unterschied von 2 hört man, je nach Echo Modell, auf jeden Fall)
-
@bananajoe
Auch nochmal getestet und es geht hier leider nicht.
Habe hier zweite Generation Dot und Echo.
Zwar zeigt web admin den Wert ungerundet an, aber ich habe ein Script/eine Routine die mir den Wert ausliest und ansagt, und die zeigt die Rundung.
Also web admin zeigt 51, aber Anfrage ergibt 50. Nach re-load der admin Oberfläche ist dann dort auch 50.Früher ging es mit dem Dot noch in 1er Schritten, nur der Echo machte obiges 3er/4er Muster. Dann kam ein Update und der Dot hat sich dem Echo angepasst (statt umgekehrt).
Ist hier bestimmt über ein Jahr so...Hat mich damals richtig geärgert, da ich mich im Schlafzimmer nachts gerne mit 1% hab berieseln lassen, da war 3% schon ein Unterschied...
-
@bananajoe
Welche Echos nutzt Du denn? -
@padrino
1 x Echo 2. Generation
5 x Echo Dot 2. Generation
3 x Echo Dot 1. GenerationFunktioniert bei allen. Auch nach Reload der Admin Oberfläche:
alexa2.0.Echo-Devices.XXXXXXXXXXXXXXXXPlayer.volume
ist jeweils der Pfad.
Hab ein GIF davon gebaut als Demo, ist leider zu groß -
@bananajoe
Hm, sehr mysteriös...
Wir könnten mal @apollon77 zu seiner Meinung fragen, dann müssen wir sicher debug logs zeigen. 🥰 -
@padrino Man kann sogar in der Alexa-App auf die Stelle genau die Lautstärke einstellen.
In der App (oder in VIS wenn ich Bar-Regler nutze) verspringt er manchmal um 1 oder 2 Punkte, wenn.man Hartnäckig ist klappt es doch. Direktes setzen des Datenpunktes klappt immer.
Und es komisch das du bei dir die Ansicht aktualisieren musst - der Rückgabewert von Amazon sollte live zu sehen sein (wie bei allen Datenpunkten).An den Geräten oder per Sprachsteuerung sind es 10er Schritte, per Fernbedienung vermutlich auch.
So wie ich diverse andere Beiträge hier in Erinnerung haben kann ich mich nicht entsinnen schon mal davon gehört zu haben.
Sicher das nicht z.B. ein Skript mitläuft? Nutze ich z.B. umd die Lautstärke von Echos im Verhältnis zueinander zu halten (WoZi muss z.B. immer 10 Punkte lauter als Küche sein)
Sonst mach doch ein eigenes Thema dazu auf, zu dieser Frage hier gehört es nicht.
-
Das Problem ist sehr einfach: Zu viel und zu schnell.
Amazon hat "rate Limits" definiert - bedeutet das nur eine definierte Anzahl an Kommandos in einer bestimmten Zeit durch gehen ... sonst gibt es einen Fehler.Du sendest 11 Kommandos quasi zur gleichen zeit raus ... das ist zuviel. Versuch mal ob Dir gruppen helfen.
-
@bananajoe
Ja, das mit der App weiß ich, das selbe kann man ja auch in Routinen einstellen.
In der App im "alten" Design (bis vor kurzem) blieb der Wert optisch auch wie eingestellt, im "neuen" Design sieht man den Slider von alleine auf den runden Wert hüpfen (Android).
Nein, habe kein Skript laufen, habe jetzt sogar zum Test extra die komplette JavaScript Instanz angehalten.@apollon77
Wo Du grad mitliest
a) magst Du den "OT" Teil absplitten?
b) gibt es ein offizielles Limit in Zahlen? -
@n3ucr0n Ich würde statt der vielen Datenpunkte mit Listen arbeiten: 1 Liste mit den zu steuernden Alexa-DPs, je eine mit der Lautstärke für laut/leise/nachts. Dann kannst Du in einer Schleife über die Liste iterieren und die Verzögerung gleich mit hoch zählen. Das wäre deutlich kompakter und einfacher zu ändern...
-
@n3ucr0n sagte in Alexa Lautstärkesteuerung via Blockly sehr unzuverlässig:
Das hier ist einer der DP:
{ "_id": "0_userdata.0.Lautstärke.Esszimmer_Laut", "type": "state", "common": { "name": "Esszimmer Laut", "role": "", "type": "number", "min": 0, "max": 100, "read": true, "write": true }, "native": {}, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1604914774298, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 } }
Beschrieben habe ich die Datenpunkte händisch. Aktuell werden die auch nicht gesteuert bzw. verändert sondern sind starr.
mach mal eine passende role rein.
z.B.
"role": "level.volume",
-
@ahnungsbefreit
Hast Du ein (einfaches) Beispiel für mich, an dem ich mir den Gedanken mal näher führen kann?@dslraser
Gute Idee! Werde ich testen! Das Thema mit der Verzögerung hat leider noch keinen Erfolg gebracht. Die Theorie dahinter leuchtet mir ein, daher werde ich die Verzögerung auch drin lassen, aber es werden noch immer die Lautstärken unzuverlässig geschaltet. Die Idee mit der Rolle wird heute noch umgesetzt. -
@padrino sagte in Alexa Lautstärkesteuerung via Blockly sehr unzuverlässig:
b) gibt es ein offizielles Limit in Zahlen?
Nicht wirklich ... experimentieren
-
@apollon77 said in Alexa Lautstärkesteuerung via Blockly sehr unzuverlässig:
Das Problem ist sehr einfach: Zu viel und zu schnell.
Amazon hat "rate Limits" definiert - bedeutet das nur eine definierte Anzahl an Kommandos in einer bestimmten Zeit durch gehen ... sonst gibt es einen Fehler.Du sendest 11 Kommandos quasi zur gleichen zeit raus ... das ist zuviel. Versuch mal ob Dir gruppen helfen.
Oh hatte Deinen Beitrag oben überlesen, bitte entschuldigung.
Funktioniert der Workaround mit dem Setzen von Verzögerunden (jeder Block 1 Sekunde nach dem Vorherigen) oder ist das nicht zielführend?
Den Tipp mit den Gruppen werde ich testen.
-
@n3ucr0n Ungetestet und nur ein Teil der Logik aus Deinem Script, sollte aber reichen, um das Prinzip zu verdeutlichen:
Wenn Du dann noch Gruppen verwendest, um alle Echos, die gleich gesteuert werden, zusammenzufassen, wird das sehr übersichtlich...
-
Ich meine das Skript ist so nicht richtig. Er wird die beiden Echos setzen und bei jedem das delay warten.
Wenn er in der Liste 10 Stück hat wir der die Befehle für die 10 hintereinander abfeuern , die werden den Delay warten dann aber trotzdem alle quasi zu gleichen zeit ausgeführt. Denn das Skript warten bei einem Delay nicht auf diesen sondern macht sofort weiter, der Schreibe Befehl macht das warten dann im Hintergrund.
Ich nehme deshalb "pause" um die Zeit zwischen 2 Zugriffen zu bremsen -
@bananajoe Ich denke, da liegst Du falsch. Genau für solche Zwecke gibt es den Parameter "Verzögerung in ms" . Damit wird der Wert eben genau nach Ablauf der Verzögerung gesetzt.
"Pause" sollte man wirklich nur im absoluten Notfall verwenden, ich habe in allen meinen Scripten keine einzige Pause drin und es funktioniert.
-
@ahnungsbefreit sagte in Alexa Lautstärkesteuerung via Blockly sehr unzuverlässig:
@bananajoe Ich denke, da liegst Du falsch. Genau für solche Zwecke gibt es den Parameter "Verzögerung in ms" . Damit wird der Wert eben genau nach Ablauf der Verzögerung gesetzt.
"Pause" sollte man wirklich nur im absoluten Notfall verwenden, ich habe in allen meinen Scripten keine einzige Pause drin und es funktioniert.
Dann erkläre mir mal das:
:
Die müssten dann ja im Abstand von 1 Sekunde an-- und ausgehen, und nicht alle auf einmal.