NEWS
Blockly Echo Lautstärke mit Aqara Cube
-
Hallo zusammen.
Ich bin absoluter Script-Neuling, sowie Programmier-Noob und habe mich heute mal mit meinen Aqara Würfeln beschäftigt.
Natürlich wollte ich direkt mit dem Alexa2 Adapter rumspielen und habe mich an einem Script zur Lautstärke und Titelsteuerung beim Abspielen einer Playliste versuchen müssen.
Vorweg, ich habe mir die Blöcke hier aus verschiedenen Themen im Forum zusammengesucht und dann "irgendwie" logisch versucht umzusetzen. Grundsätzlich tut das Script auch exakt, was es soll. Die Lautstärke lässt sich auch einigermaßen weich regeln. Das habe ich hier im Forum häufiger gelesen, dass dies wohl nicht immer der Fall ist, je nachdem wie man diesen Rotate-Angle verwurstet. Jetzt bin ich deshalb allerdings sehr unsicher, ob ich mir da nicht irgendwas gebaut habe, was man so eigentlich nicht macht und bitte Euch mal um eine Meinung, ob man das so lassen kann, oder ob man das eleganter (professioneller) lösen muss. Was ich da mit Berechnen der Angle und den diversen Problemen bei der Lautstärkeregelung anderer Komponenten heute gelesen habe, lässt mich zweifeln, dass ich als völlig Ahnungsloser da mit der Variablen einen probaten und einfachen Weg gefunden haben soll.
Hier mal mein Script:
Ich nutze den Alexa2 Adapter und habe den Würfel über das Mijia Gateway und den Mi-Home Adapter in ioBroker eingebunden.
Es geht um den gelb umrahmten Teil. Ich habe keine Ahnung, ob man das so macht oder überhaupt machen kann. Das ist reines Try and Error. Ich wollte eine von der Grundlautstärke des Echos abhängige Steuerung. Somit habe ich gedacht, dass man die eingestellte Lautstärke aus dem Alexa2 Adapter auslesen und in eine Variable schreiben kann, die dann bei Rotation des Würfels einen um 3 erhöhten oder um 3 verringerten Wert, abhängig vom immer aktuellen Wert wieder in den Alexa Volume-State schreibt. Das passiert meiner Meinung nach jetzt an dieser Stelle immer dann, wenn man den Würfel bewegt. Also nicht nur dreht. Ob das schlimm ist, weiß ich nicht.
Nun, es funktioniert zu 98%, aber ich habe da manchmal ein (wie beschreibe ich das?) "Echo". Dann erhöht oder verringert sich die Lautstärke um mehr als 3.
Irgendwie auch klar, weil ich ja einen Wert auslese, den ich mit der Rotation des Würfels verändere. Kommt also zufällig zweimal oder mehrmals ein True bei einer Bewegung, dann erhöhe ich logischerweise zwei- oder mehrmals.
Leider habe ich keine Ahnung, wo ich am Besten den Volume-Wert des Echos in dem Script in die Variable schreiben lassen soll, oder ob es etwas gibt, womit man Verzögern kann. Sprich: Das Script halt richtig aufbauen.
Vielleicht mag mir da von den Wissenden jemand helfen.
Ich sage schonmal vielen herzlichen Dank dafür.
-
Volume auslesen und damit weiter rechnen ist gut. Ich würde noch eine Bereichsabfrage 0-100 einbauen. Um das schnelle mehrfachtriggern zu verhindern könnte man prüfen ob die letzte Änderung länger als 1-2sek her ist.
-
Volume auslesen und damit weiter rechnen ist gut. Ich würde noch eine Bereichsabfrage 0-100 einbauen. Um das schnelle mehrfachtriggern zu verhindern könnte man prüfen ob die letzte Änderung länger als 1-2sek her ist. `
Danke für die Antwort.
Könntest Du mir da vielleicht aufs Pferd helfen? Wo baue ich diese Bereichsabfrage und die Änderungsprüfung ein, bzw. welchen Baustein benutze ich dafür?
Ich bin da wie gesagt noch nicht ganz frisch in Blockly.