NEWS
Aqara Cub Licht schalten
-
abend
sicher eine eher Anfängerfrage , ich möchte wenn ich den Cub Flip90 das er das Licht einschaltet bzw ausschaltet
jetzt springt der Cub beim drehen auf wahr und dann gleich wieder auf false , also er dreht auf und quasi sofort wieder abdas mit der Logik ist noch so eine Sache
danke
-
Du benötigst für das Schalten eine "Logik - falls mache" dort fragst du ob der "Wert = true" ist und dann schaltest du deinen Switch.
-
@Kaiser-Franz-Josef stell mal anstatt "wurde geändert" auf "ist größer als letztes", bedeutet, sobald dein DP FliPon90 auf true geht, wird dein Switch umgeschaltet
-
@Kaiser-Franz-Josef ich frage vorher immer die Zustände der Datenpunkte ab und schalte diese dann entsprechend. Keine Ahnung ob das "skripttechnisch" auch schöner geht, läuft aber ohne Probleme.
- zigbee.0.00158... ist der Cube
- zigbee.0.14b45... ist die Lampe
-
Diese Art Skript ist nicht besonders gut. Du machst einen Trigger auf mehrere Objekte um dann im Trigger die Objekte auseinander zu sortieren. Das ist Verschwendung von Ressourcen, insbesondere so wie du es gemacht hast, da alle "Falls" Blöcke durchlaufen werden. egal welcher Trigger feuert. Und in jedem Falls Block wird zusätzlich noch ein Status aus der Statusdatenbank geholt.
Sauberer ist es, je ein Trigger für jeden "Funktionsblock", alle hintereinander in einem Skript. Als z.Bsp:
Ein Trigger auf shake, darin, den Datenpunkt per "toggle" Block umschalten. (geht ganz ohne Wenn)
Ein Trigger auf rotate_left und rotate_right. Darin deine Trennung right/leftUnd so weiter.
-
@Asgothian
Habe mir schon gedacht, dass es schöner geht. Das Skript ist noch aus meinen Anfangszeiten. Den Trigger auf alle Objekte vom Cuba habe ich aus Faulheit gemacht. Mal gucken ob ich das mal umbaue.Datenpunkt per "toggle" Block umschalten.
Meinst du damit den "umschalten Objekt ID" Block? Hatte mich schon mal gefragt ob es einen toggle gibt. Das wäre damit ja einfacher zu programmieren.
-
@el_malto
Ich denke ja. Versuch doch mal das hier zu importieren:<block xmlns="https://developers.google.com/blockly/xml" type="toggle" id="Y(seG0ehAzF9a)KOzClj" x="12.807287158067766" y="788"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">Object ID</field> <field name="WITH_DELAY">FALSE</field> </block>
-
@crunchip also nur zum Verständnis true ist qasi 1 und false 0 daher das grösser
-
Du musst einfach nur das "wurde geändert" in ein "wahr" ändern. Dann läufts.
Hier noch kurz die Erklärung. Wenn Du den Würfel um 90° drehst, dann wird der Status sich folgendermaßen ändern: falsch (hier hast Du den Würfel noch nicht gedreht), wahr (Du hast den Würfel gedreht), falsch (der Würfel liegt wieder). Dadurch hast Du zwei Statusänderungen nacheinander. Demnach hast Du innerhalb von Millisekunden den Zustand "wurde geändert" zweimal hintereinander, weil Du den Würfel 1. bewegst, 2. dann liegenlässt.
Viel Erfolg.
-
@Kaiser-Franz-Josef ist größer als bedeutet soviel wie wahr und ist kleiner als dementsprechend ist falsch
-
@crunchip sagte in Aqara Cub Licht schalten:
@Kaiser-Franz-Josef ist größer als bedeutet soviel wie wahr und ist kleiner als dementsprechend ist falsch
Nein Nein Nein.
Ein Trigger auf "ist wahr" ist etwas anderes als ein trigger auf "ist Größer als vorher", auch bei Datenpunkten die nur wahr oder falsch sein können. Der Trigger auf "ist wahr" wird aktiv wann immer ein DP mit wahr aktualisiert wird, unabhängig davon wie der Wert vorher ist. Ein Trigger auf "ist Größer als vorher" wird aktiv wenn der DP von falsch auf wahr wechselt.
@Kaiser-Franz-Josef sagte in Aqara Cub Licht schalten:
@crunchip also nur zum Verständnis true ist qasi 1 und false 0 daher das grösser
Das ist zu 100% korrekt.
A.
-
@Asgothian ich weiß, hab ich mich eventuell etwas falsch ausgedrückt, wollte nur damit sagen, das "ist größer" sich auf true bezieht und "ist kleiner" auf false
-
@RayJayVaughan genau aber dann kann ich ja das Licht nicht mit einer weiteren Drehung wieder abdrehen
-
@Kaiser-Franz-Josef doch, lies noch einmal was @RayJayVaughan geschrieben hat.
Hier noch kurz die Erklärung. Wenn Du den Würfel um 90° drehst, dann wird der Status sich folgendermaßen ändern: falsch (hier hast Du den Würfel noch nicht gedreht), wahr (Du hast den Würfel gedreht), falsch (der Würfel liegt wieder).
Es sei denn du meist aber andere Flip 90 Datenpunkte. Einige werden mit Zahlen beschrieben. Einfach den Würfel mal drehen wie du willst und die Datenpunkte beobachten. Dann weißt du nach was du triggern musst.
-
@el_malto weis nicht ob das die schönste Methode ist aber funktioniert
Danke an alle
-
@Kaiser-Franz-Josef du kannst den "umschalten Objekt ID" Block nehmen. So wie das @Asgothian schon beschrieben hat und auf "ist wahr" triggern.
Sieht dann so aus: