NEWS
Xiaomi Magic Cube Problem
-
Guten Tag,
mein Mi Home Subsystem wurde heute um eine weitere Komponente aufgestockt. Den Xiaomi Mi Cube. Da mein Gateway schon bei iobroker bestens funktioniert, war die Einrichtung des kleinen Würfels ein Kinderspiel.
Leider gibt es ein Problem bei den Objekten mit einem Logikwert, also bei true/false ein Problem.
Ich möchte etwas per Cube einschalten. Kein Problem, wird eine Szene erstellt die, wenn sich der Logikwert am Cube ändert, einen Triggerbefehl ausübt. Das Problem besteht aber darin, dass wenn ich z.B. den Cube schüttel, der Wert schön von false auf true wechselt (und meine Szene triggern will), jedoch quasi instantan nachdem mir iobroker true anzeigt, wieder auf false wechselt. Ergo möchte meine Szene nicht mehr schalten bzw. geht das so schnell, dass meine Szene gar nicht in der Lage ist, etwas tun zu können.
Gibt es eine Möglichkeit, dass wenn der Würfel von false auf true wechselt, dann bei true bleibt und genauso umgekehrt? Die prozentuale Wertänderung bei Rotation funktioniert bestens.
Bei den Objekten im Konfigurationsmenü beim Reiter "Allgemein" unter Logikwert ein Haken bei read und im raw-Reiter steht folgendes:
{
"from": "system.adapter.mihome.0",
"ts": 1514376551764,
"common": {
"name": "Tapped twice",
"role": "button",
"type": "boolean",
"write": false,
"read": true
},
"native": {},
"acl": {
"object": 1638,
"owner": "system.user.admin",
"ownerGroup": "system.group.administrator",
"state": 1638
},
"_id": "mihome.0.devices.cube_158d000101bde2.tap_twice",
"type": "state"
}
Bis dahin ein großes Lob an den Ersteller des Adapters, bisher funktionieren alle Sensoren/Aktoren hervorragend.
Viele Grüße,
Spaceball
-
Das klingt für mich eher nach einem Anwendungsfall für Blockly bzw einfache Skripte. Szenen sind dafür eher nicht geeignet fürchte ich.
-
Mhh, wenn ich Blockly oder Javascript höre brennen bei mir direkt die Sicherungen durch.
Ne Szene macht ja quasi nix anderes als eine if Schleife oder? Wenn (if) Zustandsänderung des Logikwertes, dann tue etwas und setze Logikwert danach neu. Ansonsten (else) tue nix.
Nur ist die Zustandsänderung vergleichbar mit einem Quantensprung…extrem kurz, dann wieder Ausgangszustand. Wie soll man das realisieren?
Natürlich wird die Aussage stimmen, dass Blockly oder Javascript mir da helfen können, nur habe ich keine Ahnung wie.
PS: Die Dimmer Funktion meiner Lampen habe ich mit Blockly Siehe Foto realisiert. Damit wird quasi der Wert des Objektes "Rotation" vom Würfel aufgenommen und die Werte des Dimmer Objektes (im meinem Fall drei Lampen) aktualisiert...funktioniert perfekt.
Viele Grüße,
Spaceball
4509_rotation_cube.png -
Guten Tag,
das Oben genannte Problem habe ich nicht lösen können, jedoch umgehen.
Dafür nutze ich jetzt eine Verzögerungszeit beim Umschaltbefehl, mit dem die Rückschaltung des Cube zum Ausgangszustand quasi geschluckt wird.
Das ist nicht elegant, da man so wieder eine zusätzliche Latenz ins System bekommt, aber was besseres fällt mir nicht ein.
Vielleicht hat jemand von Euch eine elegantere Idee.
Auf diese Art kann ich aber den vollen Funktionsumfang des Würfels nutzen und das ist gewaltig. Vielen Dank nochmal an den Ersteller des Adapters.
Bisher habe ich einen Würfel (weiß), der bei Double Tap Fernseher, Soundanlage und Receiver schaltet, bei Rotation laut und leise, bei shake stumm schaltet und bei flip 90 Grad sowie 180 Grad diverse andere Geräte schaltet (Umgesetzt mit dem Broadlink Mini RM3). Der andere Würfel (blau) steuert auf ähnliche Art Lichtquellen (Yeelights), mit Dimmer, Ein/Aus und bestimmte vordefinierte Stimmungsfarben.
Einfach genial das kleine Ding.
Viele Grüße,
Spaceball
4509_cube_flip.png