Open softwarecrash opened 3 months ago
Hi @softwarecrash !
Mein dyson spielt gerade nicht mit mir, deshalb kann ich es gerade nicht ausprobieren, aber es müsste so gehen:
OscillationLeft und OscillationRight beide auf den selben Winkel und OscillationAngle auf CUST einstellen. Dadurch sollte keine Bewegung mehr stattfinden. Durch die CUST Einstellung kann man dann auch beliebige Oscillationswinkel einstellen - abweichend von den Vorgabewerten (45°, 90°, 180°, 350°). 0° sollte prinzipirll auch möglich sein, vielleicht habe ich da noch einen Bug in der Funktion.
@Grizzelbee ich hab das grad nochmal manuel probiert, mit custom, wenn man bei left dann einen winkel angibt springt oscillation auf IDLE, der right wert lässt sich nicht eingeben bzw wird irgnoriert.
hintergrund der ganzen sache ist eigentlich das der lüfter irgendeine posstition und stufe hat und an aus ist (aktueller status eben) dann soll durch ein trigger das ganze teil auf automatik gehen mit voller drehung. und danach wieder in den vorhergehenden zustand, dafür hab ich einfach alle (meine ich) wichtigen datenpunkte genommen in blockly und zwischengespeichert, diese werte werden danach wieder zurück geschrieben, also eigentlich identisch mit dem was er geliefert hatte vorher, nur genau das geht irgendwie nicht. anbei mal als beispiel mein blockly wie ich dachte das es gehen könnte Ventilator.zip
So! Ich habe endlich Zeit gefunden das zu verifizieren. Mit diesem Code funktioniert das bei mir einwandfrei (ich setze eine Funktion zu dem Zweck ein):
Deine steuere
-Elemente funktionieren ebenfalls. Du musst nur die werte analog übergeben.
Ach ja: Die Pause ist nicht nötig und deshalb deaktiviert.
danke, der OscillationAngle steht bei mir immer auf Custom wenn ich in der app oder mit der fb den lüfter in eine bestimmte stellung bringe, wenn ich dann die werte zurückschreibe nimmt er warum auch immer 90° drehung an, manuell geht es, da muss ich den wert auf 0° setzen. der OscillationAngle datenpunkt steht als lesbarer wert immer auf custom und ändert sich nicht wenn man von lüfterseite aus was manipuliert
Hmmm. 🤔 Ich verstehe deine Ausführungen nicht so richtig. Funktioniert mein Code bei Dir und die Frage ist damit erledigt, oder gibt es nach wie vor ein Problem?
dein Code funktioniert soweit. mein problemchen ist das ich die werte die der adapter liefert zwischenspeichern kann, aber beim zurückschreiben der custom wert sich seltsam verhält, hab es auch probiert die werte nochmal analog zu schreiben als zahl und string. aber er nimmt nicht wieder die einstellungen ein die er vorher hatte. sprich oscillationAngle und oscillation angle lower, in eine variable schubsen, lüfter verstellen und dann wieder zurückschreiben, da macht er immer eine bewegung dann statt das zu machen was er vorher gemacht hat
Okay - dann sehen wir mal ob ich die Fragestellung richtig verstanden habe:
dazu müsstest Du doch nur OscillationLeft
(OscillationAngleLowerBoundary) in einer Variablen speichern.
Dann die Oszillation starten und zum Schluss mit setAngle(storedValue, 0)
wieder die alte Positionn herstellen.
Oder habe ich etwas falsch verstanden oder übersehen?
fast richtig,
Okay - JETZT verstehe ich.
Das ist unter anderem deswegen ein Problem, weil der Adapter, wenn er den OscillationAbgle CUST
bekommt, annimmt das damit 90° gemeint sind.
Ich muss mir mal ansehen ob ich das vielleicht besser machen kann.
Aber es wird auf jeden Fall tricky - weil CUST
ja nun leider alles zwischen 0° und 350° sein kann. Da der Adapter aber immer nur die Änderung EINES Datenpunktes (Angle, Left, Right) zur selben Zeit verarbeiten und betrachten kann und nicht weiß ob noch eine weitere Änderung nachkommt kann er nicht 100% sicher beurteilen was mit CUST
gemeint sein könnte. Aber vielleicht ist eine bessere Näherung als 90° möglich.
nur eine dumme idee, aber wäre eine ableitung der beiden winkel und eine custom winkel berechnung anhand der werte möglich oder sinvoll? in der app kann man ja die vorgegebenen breiten zur oscillation wählen, die spiegeln sich aber im angle nicht wieder, das war eigentlich mein script/bastel gedanke der so nicht geht.
Hallo, ich hab glaube ein kleine verstädnis problem. ich hab den tp07 den man ja über die app auf eine bestimmte winkelpossition bringen kann ohne oscillation, wie bekommt man das über die datenpunkte hin?
hintergrund ist das der lüfter eine bestimmte possition hat (manuell) er soll dann per trigger in den auto modus mit maximaler drehung usw. später soll er dann wieder seine ursprügliche possition etc einnehmen, das funktioniert mit zwischenspeichern der states soweit, nur die possition bekomme ich nicht wieder hin.
wenn ich oscillationangle auf 0 setze, und dann einen winkel eingebe springt er automatisch auf 90grad oscillation mit irgendeinem winkel wo er halt grad ist