XIAOMI "Zauberwürfel" Magic Cube (hier Aqara)

  • So, gestern traf mein XIAOMI Magic Cube ein!

    lustiges Ding!:)

    Ich hatte die neue 2017er Version bestellt und darum bekam ich ein Aqara-Gerät (Mi war gestern).

    Das kann ich in an meinen DE RaspBee-Gateway anlernen, aber damit kann ich dann nichts anfangen. Ich habe kein XIAOMI-Gateway.X(

    Ich habe etwas mit den Programmierern bei GitHub geschrieben und man hat den Code etwas geändert, weil der Identifier des Geräts vom Hersteller geändert wurde.

    Danach konnte ich das Teil in PhosCon ein binden - und flupp - er ist auch im IoBroker...:)


    Ich sehe jetzt einen Buttonevent wenn etwas passiert, den ich auswerten kann. Der Würfel kann 6 "Eingaben" auswerten, das Drehen wird aber (noch) nicht übertragen.

    Quasi hat jede Seite des Würfels eine Nummer und im Buttonevent sieht man dann Codes zum Auswerten:

    5000 - Move mit der Seite 5 unten

    1005 - Flip von 5 auf 1

    1000 - Move mit der Seite 1 unten

    4001 - Flip von 1 auf 4

    4004 - 2xClap mit der Seite 4 unten

    7007 - Shake

    naja, und so weiter...:sleeping:

    Eigentlich könnte man jede Seite beschriften und dementsprechend auswerten:thumbup:, Lichtfarben- und Helligkeit und man kippt dann die gewünschte Seite hoch/runter:thumbup:. Man kann schieben um ein/aus- zuschalten oder 2xClappen...

    Es ist mega-lustig, ich habe noch keinen Plan, was ich damit machen soll.

    :/

    ioBroker: Pi3B / Sonoff -Basic / Mobile.0 / Shelly2.5 (Rollladen)

    ZigBee: Pi2B RaspBee-GW DeConz / Philips Hue Dimmer-Switch, Hue/Innr-Leuchten / XIAOMI Mi/Aqara Fenster-, BWM-Sensor, Magic Cube

    EQ-3 Max! Cube, Ventile, Thermostate / Logitech Harmony Elite mit Hub / Roborock S5

    Tasmota durch TasmoAdmin (&Atom.IO) / AVM FB 7490 / Devolo Magic 1 Powerline

  • So,

    nach langem Basteln funktioniert es jetzt (niemand weiß warum):

    Die Magic Cubes werden quasi als 2 Sensoren im deCONZ angemeldet. Weil der iobroker-Adapter das nicht kann, habe ich von Hand (REST-Api) nachgeholfen, ich habe den 2 Sensoren versch. Namen gegeben.

    Der iobroker-deconz-Adapter in der Version 0.2.1 funktioniert dann nicht, man nimmt wieder 0.2.0.

    Irgendwie war am nächsten Tag auch Leben in den Datenpunkten. Ein Sensor für das Flippen, ein Sensor für das Drehen.

    Jetzt kann ich auch die Dreh-Bewegungen mit deCONZ und iobroker ohne externe Cloud verarbeiten...

    ioBroker: Pi3B / Sonoff -Basic / Mobile.0 / Shelly2.5 (Rollladen)

    ZigBee: Pi2B RaspBee-GW DeConz / Philips Hue Dimmer-Switch, Hue/Innr-Leuchten / XIAOMI Mi/Aqara Fenster-, BWM-Sensor, Magic Cube

    EQ-3 Max! Cube, Ventile, Thermostate / Logitech Harmony Elite mit Hub / Roborock S5

    Tasmota durch TasmoAdmin (&Atom.IO) / AVM FB 7490 / Devolo Magic 1 Powerline

  • Die Magic Cubes werden quasi als 2 Sensoren im deCONZ angemeldet. Weil der iobroker-Adapter das nicht kann, habe ich von Hand (REST-Api) nachgeholfen, ich habe den 2 Sensoren versch. Namen gegeben.

    Hi BigWumpus,


    ich habe seit gestern einen ConBee-Stick und habe ebenfalls meinen Xiaomi Aqara Magic cube/Zauberwürfel (wie er in Phoscon angezeigt wird) in Phoscon verbunden.

    Meinst Du mit 2 Sensoren die 2 Sensorwerte im Punkt Zustand der Phoscon-Schaltereinrichtung? Dort wird bei mir eine Zustands-/Aktivitätszahl (der von Dir genannte Buttonevent wie 7007) sowie Grad-Angabe der letzten Würfel-Drehung dargestellt.


    In ioBroker habe ich dagegen ganze 3 Objekte. Zwei, die ich nicht zuordenen kann (Power_11_11 und Power_2_2, von denen Power_11_11 häufig mit "true" auf Kipp-Eingaben zu reagieren scheint (jedenfalls gestern), das kann aber natürlich purer Zufall sein.

    Einer heißt richtig Zauberwürfel, dieser scheint aber ausschließlich die Drehung wiederzugeben? Dabei werden scheinbar Dezimalstellen des Winkels als Zehner-Einer Stellen dargestellt. 90° ergeben ca. 9000. Bei großen Winkeln wie etwas 180° klappt das weniger gut. Da kommt dann noch 14000 o.ä. raus. Aber halb so wild.


    Was ich dagegen leider gar nicht im deconz-Adapter von ioBroker finden kann, sind die Lage-Änderungen? Also die Zustandsänderungen, wie 7007 oder 1006?


    Daher meine eigentliche Frage:

    Wie greifst Du auf die REST-Api zu und, wie benennst Du die Sensoren um?

    Hast Du dafür den Simple-Api-Adapter installiert? Damit kann ich bisher leider noch nichts anfangen.


    Hast Du de Möglichkeit, Dein REST-Api Setup und die Zugriffe vll. hier zu teilen? :saint: Das wäre total klasse! ;) Ich möchte auch tief in die Materie einsteigen und auf die verschiedenen Events des Würfels reagieren können.


    Viele Grüße!

  • In Firefox habe ich den RESTCLIENT installiert.

    Vorher im iobroker.deconz-Adapter den API-Key auslesen!

    Den kann man den RESTCLIENT starten und dann...


    In einem zweiten Browser-Fenster die Doku öffnen: REST-Api-Doku


    oben einen Request erzeugen:

    Code
    1. Method:GET URL:http://<ip>/api/<API-Key>/sensors

    und dann SEND drücken.


    Den Response kann man sich als Preview ansehen und darin wühlen.


    Bei mir waren "5" und "8" ein und derselbe "Cube" mit verschiedenen Eigenschaften. Der eine hatte einen Buttonevent von x00x und ist damit der "Flächen-Cube" und der andere hat einen Buttonevent von +/-XXXXX und gibt den Drehwinkel (x100) an. Den zweiten habe ich umbenannt:


    oben einen Request erzeugen:

    Code
    1. Method:PUT URL:http://<ip>/api/<API-Key>/sensors/8
    2. Body:
    3. { "name": "Cube-Turn"
    4. }

    und dann SEND drücken.


    Damit hat der Turn-Teil des Zauberwürfels einen neuen Namen.

    Adapter neu starten, warten, PhosCon zeigt nur einen Namen an...


    Die Doku kann man sich ja Punkt für Punkt ansehen, es ist jeder Befehl beschrieben und mit dem RESTCLIENT kann man die zusammenhämmern.

    TIPP: Wenn man die erste Abfrage fertig funktionierend hat dann rechts neben der URL auf den Stern drücken, damit es als Favorit gespeichert bleibt. Hilft für später!

    ioBroker: Pi3B / Sonoff -Basic / Mobile.0 / Shelly2.5 (Rollladen)

    ZigBee: Pi2B RaspBee-GW DeConz / Philips Hue Dimmer-Switch, Hue/Innr-Leuchten / XIAOMI Mi/Aqara Fenster-, BWM-Sensor, Magic Cube

    EQ-3 Max! Cube, Ventile, Thermostate / Logitech Harmony Elite mit Hub / Roborock S5

    Tasmota durch TasmoAdmin (&Atom.IO) / AVM FB 7490 / Devolo Magic 1 Powerline

    Einmal editiert, zuletzt von BigWumpus ()

  • Die POWER_xx_xx-Dinger kommen von meinen OSRAM-Smart-Plugs und sollen Verbrauchsmesser sein, klappen nicht, habe ich per REST-API gelöscht...

    ioBroker: Pi3B / Sonoff -Basic / Mobile.0 / Shelly2.5 (Rollladen)

    ZigBee: Pi2B RaspBee-GW DeConz / Philips Hue Dimmer-Switch, Hue/Innr-Leuchten / XIAOMI Mi/Aqara Fenster-, BWM-Sensor, Magic Cube

    EQ-3 Max! Cube, Ventile, Thermostate / Logitech Harmony Elite mit Hub / Roborock S5

    Tasmota durch TasmoAdmin (&Atom.IO) / AVM FB 7490 / Devolo Magic 1 Powerline

  • Wenn der Cube dann gedreht wird, gibt es praktisch 6 Seiten, die man drehen kann.

    Mein Script wertet die Drehung aus.

    Zuerst bestimmt es die aktivie Seite aus dem letzten Buttonevent der Fläche.

    Je Seite wird ein Gerät bestimmt. Wenn das Gerät aktiviert ist, wird der aktuelle Drehwinkel aufaddiert (Datenpunkt).


    Dazu habe ich Datenpunkte angelegt:


    Drehung addiert die Winkel,

    Drehung_aktiv schaltet die Drehung "frei",

    Helligkeit ist der %-Wert für den Dimmer,

    Switch ist ein On/Off-Knopf für den Dimmer,

    ioBroker: Pi3B / Sonoff -Basic / Mobile.0 / Shelly2.5 (Rollladen)

    ZigBee: Pi2B RaspBee-GW DeConz / Philips Hue Dimmer-Switch, Hue/Innr-Leuchten / XIAOMI Mi/Aqara Fenster-, BWM-Sensor, Magic Cube

    EQ-3 Max! Cube, Ventile, Thermostate / Logitech Harmony Elite mit Hub / Roborock S5

    Tasmota durch TasmoAdmin (&Atom.IO) / AVM FB 7490 / Devolo Magic 1 Powerline

  • Die Ansteuerung ist etwas filigraner:


    Die Tischlampe wird über Bewegungsmelder angesteuert, außer... man kippt den Cube auf die "Tischlampe"-Seite (2), dann ist die Tischlampe "fixiert" (alle anderen Moves gehen auch, weil ich alles mit 2xxx auswerte).

    Dann kann ich den Drehmodus durch zweimaliges Klopfen für 5 Minuten aktivieren und die Helligkeit der Lampe regeln. 0-100% ist bei mir der Standrad, wobei 0%=Aus, ab 1%=An.


    Den Start des Drehmodus zeige ich mit zweimaliger Reaktion der Lampe an, das Ende mit einmaliger Reaktion (Hell-Dunkel-Faden).


    Der Trigger für den Cube hat eine IF-Abfrage, damit der Buttonevent "7000" (=Aufwachen des Cube) nicht ausgewertet wird (Nicht dargestellt, aber der Zweig ist zu sehen.).


    Nun wird die Drehung selbst ausgewertet:

    Je 500 Drehung (=5 Grad) ändert sich die Helligkeit um 2%. Habe ich mir so ausgedacht und paßt ganz OK zur Genauigkeit des Drehens und des benötigen Drehwinkels.

    Der Script "dreht" an der Helligkeit und rechnet mit.

    Ist relativ klein und übersichtlich.


    Ein anderer Script gibt die Helligkeit an den Dimmer (mit Farbtemperatur wenn vorhanden)... Hier nicht dargestellt.

    ioBroker: Pi3B / Sonoff -Basic / Mobile.0 / Shelly2.5 (Rollladen)

    ZigBee: Pi2B RaspBee-GW DeConz / Philips Hue Dimmer-Switch, Hue/Innr-Leuchten / XIAOMI Mi/Aqara Fenster-, BWM-Sensor, Magic Cube

    EQ-3 Max! Cube, Ventile, Thermostate / Logitech Harmony Elite mit Hub / Roborock S5

    Tasmota durch TasmoAdmin (&Atom.IO) / AVM FB 7490 / Devolo Magic 1 Powerline

    Einmal editiert, zuletzt von BigWumpus ()

  • Ich bin kein Fußballfan, da habe ich meine Leute für.

    Ist gerade so schön hier, ich stelle meinen Klappstuhl gleich mal auf die sonst vielbefahrene Straße vor der Tür.

    ioBroker: Pi3B / Sonoff -Basic / Mobile.0 / Shelly2.5 (Rollladen)

    ZigBee: Pi2B RaspBee-GW DeConz / Philips Hue Dimmer-Switch, Hue/Innr-Leuchten / XIAOMI Mi/Aqara Fenster-, BWM-Sensor, Magic Cube

    EQ-3 Max! Cube, Ventile, Thermostate / Logitech Harmony Elite mit Hub / Roborock S5

    Tasmota durch TasmoAdmin (&Atom.IO) / AVM FB 7490 / Devolo Magic 1 Powerline

  • Den Start des Drehmodus zeige ich mit zweimaliger Reaktion der Lampe an, das Ende mit einmaliger Reaktion (Hell-Dunkel-Faden).


    Der Trigger für den Cube hat eine IF-Abfrage, damit der Buttonevent "7000" (=Aufwachen des Cube) nicht ausgewertet wird (Nicht dargestellt, aber der Zweig ist zu sehen.).


    Nun wird die Drehung selbst ausgewertet:

    Je 500 Drehung (=5 Grad) ändert sich die Helligkeit um 2%. Habe ich mir so ausgedacht und paßt ganz OK zur Genauigkeit des Drehens und des benötigen Drehwinkels.

    Der Script "dreht" an der Helligkeit und rechnet mit


    Hi BigWumpus,


    besten Dank für Deine unglaublich umfassenden und tollen Beschreibungen Deiner Vorgehensweise!

    Irgendwie funktionierte bei mir das Forum die letzten Tage nicht. Daher hatte ich von Deiner super schnellen Antwort leider überhaupt nichts mitbekommen. Scheinbar auch keine Email-Benachrichtigung.


    Über die Umsetzung der Drehung in Helligkeitsänderungen hatte ich mir auch schon Gedanken gemacht. Da hast Du einen tollen Ansatz gewählt!


    In das Thema Rest-Api Steuerung muss ich mich jetzt mal rein fuchsen. Damit habe ich bisher noch keine Erfahrung. Da werden mir Deine ausführlichen Beschreibungen aber sehr bei helfen! :thumbup::) Klasse!


    Ich schaue mir das ganze heute Abend mal genauer an.

    Da freu ich mich schon richtig drauf!

  • Hmm. Ich muss zugeben, bisher waren meine Versuche sehr unerfolgreich :/

    Obwohl ich natürlich regelmäßig zuvor in Phoscon/deConz die Freigabe für neue Apps erteilt habe war die REST-Antwort immer:

    GET: http://192.168.2.111:8080/api --> Cannot GET /api

    Code
    1. GET: http://192.168.2.111:8080/api
    2. -->
    3. Cannot GET /api


    Gibt es einen anderen Standard-Port für deConz?

    Denn über den vorgeschlagenen Aufruf kann ich mein Gateway nicht finden.:

    Code
    1. https://dresden-light.appspot.com/discover
    2. -->
    3. []


    Viele Grüße!


    [EDIT] Oh, jetzt hab ich was! Port 80. sehr komisch.

    Code
    1. http://192.168.2.111:80/api/[..API-KEY..]/sensors

    Den Api Key habe ich bei Node Red ausgelesen. Denn neu erstellen konnte ich per RESSTclient bisher noch keinen API-Key.


    Wunderbar! Da habe ich nun auch die 2. Würfel-Sensoren gefunden :):thumbup:

    Dann muss ich morgen Abend nur noch Dein Tutrial weiter befolgen ;)

    Geilo! Ich hab das Objekt drin! Jetzt kann ich Dir die Blockly-Scripts nachbauen 8o Klasse! Das ging ja einfacher als gedacht! Wirklich gut beschrieben!

  • Der Cube hat noch einen Sensor mehr:

    Freefall!

    Hochwerfen und wieder auffangen, wird in Deconz als Buttonevent 7008 gemeldet!

    Ist anders als Shake mit 7007!

    ioBroker: Pi3B / Sonoff -Basic / Mobile.0 / Shelly2.5 (Rollladen)

    ZigBee: Pi2B RaspBee-GW DeConz / Philips Hue Dimmer-Switch, Hue/Innr-Leuchten / XIAOMI Mi/Aqara Fenster-, BWM-Sensor, Magic Cube

    EQ-3 Max! Cube, Ventile, Thermostate / Logitech Harmony Elite mit Hub / Roborock S5

    Tasmota durch TasmoAdmin (&Atom.IO) / AVM FB 7490 / Devolo Magic 1 Powerline

  • Freefall!

    Hochwerfen und wieder auffangen, wird in Deconz als Buttonevent 7008 gemeldet!

    Ist anders als Shake mit 7007!

    Ach wie cool! Danke für den Tipp! ;-)


    Nutzt Du aktuell tatsächlich die verschiedenen Seiten, oder analog des Xiaomi Gateways nur 90° kippen, 180° kippen? Überlege noch.

    Wirklich erkennen kann man ja leider nur die Aqara-Seite (1) sowie den Batteriedeckel (6).

    Ich überlege maximal jenen eine Ausnahme hinzuzufügen.


    Gruß!

  • Ja,

    die Benutzung ist so ein Ding. Ich habe für mein Wohnzimmer gebastelt:


    Oben ist die Hauptfläche - 2xTapp aktiviert die Drehsteuerung der Helligkeit der Deckenlampe


    Dann kippe ich nach links und habe einen "Nacht-Modus" - Bewegungsmelder für Tischlicht und automatisches Rollladenöffnen sind abgeschaltet (wenn dort jemand pennt). 2xTapp aktiviert die Drehsteuerung der Helligkeit der Tischlampe.


    Noch eine Fläche kann die Stehlampe schalten - 2xTapp ein/aus


    und noch eine Lampe...


    Schieben und 180° werte ich nicht aus, werfen auch nicht.


    Schütteln schaltet das Wohnzimmer aus.


    Ich habe mir in der Bucht mal ein paar farbige Klebefolien (DIN A4 Plotterfolie) geholt, mit denen ich die 5 Seiten beklebe, dann kann man die Funktionen auch im duseligen Kopf finden. Die Flächen sind dann mit meinem Brother-Labelprinter beschriftet.

    Bild1

    Bild2

    Bild3

    Bild4

    ioBroker: Pi3B / Sonoff -Basic / Mobile.0 / Shelly2.5 (Rollladen)

    ZigBee: Pi2B RaspBee-GW DeConz / Philips Hue Dimmer-Switch, Hue/Innr-Leuchten / XIAOMI Mi/Aqara Fenster-, BWM-Sensor, Magic Cube

    EQ-3 Max! Cube, Ventile, Thermostate / Logitech Harmony Elite mit Hub / Roborock S5

    Tasmota durch TasmoAdmin (&Atom.IO) / AVM FB 7490 / Devolo Magic 1 Powerline

    Einmal editiert, zuletzt von BigWumpus () aus folgendem Grund: Bilder angefügt

  • Hallo, irgendwie bekomme ich meine Aqara cubes nicht in Phoscon erkannt und verbunden und ich weiß nicht warum ? weil die Tür Sensoren, Bewegungsmelder und der Switch wurden alle erkannt und sind auch im iobroker und laufen alle. Hat jemand einen Lösungsweg/Anleitung zum Einbinden/Anlehrnen der Cubes, wäre sehr dankbar dafür.

  • Moin zusammen!


    Zunäüchst einmal noch allergrößten Dank an BigWumpus, mit dessen herausragender Beschreibung ich über die RestAPI letztens noch einmal weitere Würfel angelernt habe :-)

    Auch seinen Ansatz zur Steuerung mittels der Würfel werde ich weiter verfolgen.

    In der letzten Zeit hatte eich zu viele Privates um die Ohren, um mich den Themen näher zu widmen, daher auch die späte Rückmeldung.

    Jedoch wollte ich vermeiden, dass er nun wieder als einziger Helfer auftreten muss ;)


    Daher zu Dir, Smilefish:


    Die Magic Cubes werden in Phoscon als Schalter erkannt, bei Dir ist also in dem "Tab" nichts zu sehen?

    angelernt habe ich sie glaube ich über den Knopf bei Sensoren. Dann den versteckten Knopf unter der Abdeckung im Würfel lange drücken und dann habe ich geschüttelt und anschließend den Würfel abgelegt und im Uhrzeigersinn gedreht.


    Diese Zustände werden nämlich, glaube ich, (sinnvollerweise) nicht gleichzeitig übertragen.

    Damit aber alle Sensoren erkannt werden, habe ich bei jedem Würfel bei Aktionen ausgeführt.


    Nun sollte der Würfel unter Schalter auftauchen. Klickst Du darauf, werden Dir je nach Aktion Gradzahl für die Drehung sowie 1000er-Zahl für die letzte Flip-Bewegung angezeigt.


    Nun ist ggf. die Trennung der Sensoren notwendig, wie BigWumpus es beschrieben hat. (Mittels RestAPI, ganz einfach, musst nur Schritt für Schritt folgen und zuvor den richtigen Port kennen.)


    Seit ioBroker deConz-Adapter 0.2.5 habe iich aber ohnehin eine Flut von Sensoren in der Objektdatenbank, da jeder Teilsensor (humidity, temp, Luftdruck....) in verschiedenen Objekten abgebildet wird. Mag also sein, das ein Trennen der Sensoren nicht mehr notwendig ist.


    Viel Erfolg ;)

  • Sehr gerne ;)

    Ich habe ansonsten Bewegungs- und Temperatur-Sensoren und ich hatte zumindest bei den Würfeln mal den Fall, dass die Drehbewegung nicht übermittelt wurde.

    Daher ging ich davon aus, dass alle Sensoren innerhalb des zu verbindenden Objektes (hier Würfel) einmal Ihren Status innerhalb der Anlernzeit funken sollten. Bei den anderen Sensoren wird glaube ich eh alles auf einmal gesendet, aber beim Würfel eben gerade nicht.

  • Hallo ConBee User,

    Habe wie du geschrieben hast in Phoscon Sensoren suchen gestartet, dann im Cube den Knopf gedrückt , geschüttelt, abgelegt und gedreht. Es wird jedoch kein Sensor erkannt und auch im Reiter Schalter taucht der Cube nicht auf. ? Die MiHome App erkennt den Cube, also sollte der Cube funktionieren. Was mache ich falsch. Die anderen Sensoren werden ja erkannt.

  • Hi Smilefish,


    hmm schwer zu sagen. Da MiHome (ich nehme an per Gateway) den Cube erkennt, hast Du sicherlich auch einige Sekunden gedrückt, bis die LED in kurzer Folge 3x oder öfter geblinkt hat.


    Daher kann ich mir fast nur vorstellen, das der Cube sogar erkannt wurde, nur im anderen Register aufgeführt wird.


    Erkannt wird der Cube ja nur (? glaube ich..), wenn man "Sensoren" anlernt. Er taucht dann aber nicht unter Sensoren auf, sondern ist unter "Schalter" zu finden.


    Schau da mal nach. Ansonsten bin ich gerade noch ratlos...

    Welche Version von deconz/Phoscon hast Du denn installiert?


    Gruß!

  • Hallo,

    ich würde einfach immer wiederholtes Drücken des Binding-Knopfes für 2-3 Minuten empfehlen, alle paar Sekunden.

    ioBroker: Pi3B / Sonoff -Basic / Mobile.0 / Shelly2.5 (Rollladen)

    ZigBee: Pi2B RaspBee-GW DeConz / Philips Hue Dimmer-Switch, Hue/Innr-Leuchten / XIAOMI Mi/Aqara Fenster-, BWM-Sensor, Magic Cube

    EQ-3 Max! Cube, Ventile, Thermostate / Logitech Harmony Elite mit Hub / Roborock S5

    Tasmota durch TasmoAdmin (&Atom.IO) / AVM FB 7490 / Devolo Magic 1 Powerline