NEWS
[gelöst] Lautstärke mit Aqara Cube steuern
-
@Brati: Du meinst also so?!
Hab jetzt auch mal mein Objekt "beobachtet" und es ist alles super hakelig. Also ich dreh erstmal ne Weile bevor was passiert und wenn was passiert ist's hakelig. Ich glaub das Signal ist einfach zu schwach. Werde demnächst mal eine Antenne an den Stick löten .. vielleicht ist's dann besser. Meine Osram Smart+ als Verstärker funktioniert eine Zeit lang ganz gut .. nur jetzt ist das Signal wieder auf 6 abgesackt .. kA wieso.
-
Beim mir sind Stick und Cube nur 5m von einander entfernt, ohne Mauer dazwischen… Das läuft ganz gut.
Deine Variable "Wert" hat keinen definierten Wert. Das müsstest du gegen "Wert vom Objekt ID mihome.0.devices.xxxx.rotate" ändern.
Grüße
Brati
-
Hab hier eigentlich gelernt dass das nicht erforderlich ist .. weil nur ein Objekt übergeben wird. Hab ich das falsch verstanden?
-
Hab hier eigentlich gelernt dass das nicht erforderlich ist .. weil nur ein Objekt übergeben wird. Hab ich das falsch verstanden? `
Wüsste nicht woher "Wert" weiß, dass es der Variablenwert von "mihome.0.devices.xxxx.rotate" sein soll. Im JS sieht es bei mir so aus:
setState(idCouchDimm, getState(idCouchDimm).val + getState("mihome.0.devices.xxxx.rotate"/*Rotation angle*/).val);
und bei dir müsste jetzt in der Funktion stehen:
if (Wert) setState(Current volume, getState(Current volume).val + Wert);
Das macht aber kein Sinn, weil für die If/ Then Abfrage eine boolean Variable gefragt wäre und für die Addition eine Zahl.
Eine If/ Then Abfrage ist eigentlich komplett entbehrlich, weil ja nur getriggert wird, wenn sich der State "Rotate Angel" ändert.
Ich nutze aber kein Blockly….
Grüße
Brati
-
Hallo,
habe mich auch mal mit Blockly versucht und mein erstes war die Lautstärke meines Radios mit den Aqara Cube zu ändern.
Der Blockly läuft soweit ganz gut, nur wenn ich nach rechts drehe und lauter machen möchte, geht das Volumen sofort auf 20 (max). Hätte jedoch lieber das er langsam wie auch wenn ich nach links drehe, step für step (also immer + 1) sich die Lautstärke ändert.
hat hier jemand eine Idee woran das liegen kann?
Die Begrenzung habe ich eingerichtet da das Volumen meines Radios vom 0 bis 20 geht.
Vielen Dank für eute Untesrtützung,
Claus
-
Ich kann nur empfehlen, dass nicht über das Event Rotation zu lösen. Die Dauer ist nicht berechenbar. Was jetzt zuverlässig läuft ist die Addition des Rotation Angel (wird ja bei Minuswert eine Subtraktion). Da mir die Sprünge beim Dimmen zu groß waren, nehme ich den halben Wert und begrenze ihn auf 25, somit muss ich ca. 4 mal von 0 auf 100 drehen oder erwische auch die Zwischenschritte:
Die Begrenzung ist hier 0-100. Bei 0-20 würde ich mindestens durch 4 Teilen, unter Umständen musst du noch runden.
var x = new RegExp("\zigbee\.0\.xxxx.+"); on({id:x,change:'ne',chance:'ne'}, function (obj) { // ************* Rotation = Dimmer *************** if (getState(idRotLeft).val || getState(idRotRight).val) { var DimmW = (getState("zigbee.xxxx.rotate_angle"/*Rotate angle*/).val)/2; if (DimmW>25) DimmW = 25; if (DimmW<-25) DimmW = -25; DimmW = getState(idCouchDimm).val + DimmW; if (DimmW>100) DimmW = 100; if (DimmW<0) DimmW = 0; setState(idCouchDimm, DimmW); } };
Das ist nur ein Ausschnitt aus dem ganzen Script, aber per Blockly nachbaubar.
Grüße
Brati
-
Ich kann nur empfehlen, dass nicht über das Event Rotation zu lösen. Die Dauer ist nicht berechenbar. Was jetzt zuverlässig läuft ist die Addition des Rotation Angel (wird ja bei Minuswert eine Subtraktion). Da mir die Sprünge beim Dimmen zu groß waren, nehme ich den halben Wert und begrenze ihn auf 25, somit muss ich ca. 4 mal von 0 auf 100 drehen oder erwische auch die Zwischenschritte: `
Ja, der reine Event ist einfach Mist…Ich nehme die Winkel und addiere sie in einem Datenpunkt auf, kommen ja ständig neue Winkel dazu (DeConz).
In einem zweiten Script werte ich den Winkel aus...
je positive 250 nehme ich +1 beim Dimmer,
je negative 250 nehme ich -1 beim Dimmer (Wertebereich 0...255).
Eine +/-90°-Drehung sind bei Deconz +/-9000 = +/-36.
Es sind also ein paar Drehungen nötig.
Und dann kommt da noch Lagging hinzu...
Es funktioniert bei mir für 2 versch. Dimmer/Lampen, weil der Cube ja auch 6 Seiten hat und noch mehr könnte...
Ich habe die Flächen farbig beklebt und alles wäre bei Dennis zu sehen, wenn er kein neues Board hätte...
-
> Ich nehme die Winkel und addiere sie in einem Datenpunkt auf, kommen ja ständig neue Winkel dazu (DeConz).
Das heißt ich erstelle einen neuen Datenpunkt und addiere dort fortlaufend den Wert aus "Rotate" mittels DeConz?
Wo finde ich DeConz in Blockly?
Rotate hat bei mir positive oder negative Werte, je nachdem in welche Richtung ich drehe.
` > je positive 250 nehme ich +1 beim Dimmer,
je negative 250 nehme ich -1 beim Dimmer (Wertebereich 0…255). `
Ich nehme den oben erstellten Datenpunkt und ziehe vom vorherigen Wert den neuen Wert ab?
Wie kann ich das in Blockly erstellen das er bei einer Differenz von 250 den Value +1 bzw. -1 setzt?
Sorry für die vielen Fragen aber ich bin noch Neuling was Blockly und Co betrifft und habe von Programnieren so gut wie keine Ahnung.
Danke und Grüße,
Claus
-
Ich glaube DeConz ist nicht der Zigbee Adapter. Du kannst aber mit den von dir gefundenen Werten gut arbeiten.
Hast du etwas Ahnung vom programmieren? Dann sollte sich mein Script, vom 10.10., in Blockly umsetzen lassen.
Grüße
Brati
-
Habe leider keine Ahnung was das Programmieren angeht…
Habe mal den Blockly von Denis nachgebaut und jetzt passt es besser. Was ich dort jedoch habe ist das die Lautstärke zwar steigt...wenn ich jedoch weiterderehe wird es auf einmal wieder leise...die Werte im Datenpunkt werden dazu passen auch kleiner.
Denke das ihr deswegen von einer Addition sprecht. Ich addiere die Werte auf und bekomme somit einen immer steigenden Wert. Doch wie erstelle ich diese Addition in Blockly, hier finde ich einfach nichts.
Danke und Grüße,
Claus