Aller au contenu
Eliah

Contrôler le Xiaomi Vacuum avec le HC2 ?

Recommended Posts

Bonjour, 

 

Je viens de voir qu'il existe un plugin Jeedom pour contrôler l'aspirateur de xiaomi et je me disais qu'on pourrait surement le faire aussi avec notre HC2...

Quelqu'un aurait une idée de comment faire ou l'aurait déjà fait et pourrait faire un petit tuto ? :)

Merci d'avance !

 

(pour jeedom : http://www.maison-et-domotique.com/76309-mini-guide-integrer-le-robot-aspirateur-xiaomi-dans-jeedom/?utm_source=feedpress.me&utm_medium=feed&utm_campaign=Feed%3A%2Bmaisonetdomotique )

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour, naïvement directement depuis la HC2 non. Mais en passant par Jeedom et en recuperant les infos de Jeedom certainement :-)
Regarde le topic Jeedom,@sebcbien a ecrit un script qui permet d interagir Jeedom --> HC2 et HC2 --> Jeedom

Envoyé de mon Nexus 5X en utilisant Tapatalk

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui exact ça devient compliqué avec la HC2, en fait il faut encrypter une partie de la trames UDP envoyer vers l'aspirateur.

 

Du coup il faudrait une fonction md5, encryption AES128 désencryption ....

 

Je pense que c'est compliqué, en tout cas pour moi.

 

Ci-dessous le protocol pour dialoguer avec les appareils Xiaomi :

https://github.com/OpenMiHome/mihome-binary-protocol/blob/master/doc/PROTOCOL.md

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

D'accord avec @ADN182, plus simple d'utiliser ce qui existe deja et qui a l'air de bien fonctionner pour pas beaucoup d'investissement ;-) Jeedom en passerelle pour l'aspirateur VACCUM c'est ce que j'aie envie de faire ;-)

Partager ce message


Lien à poster
Partager sur d’autres sites

On est deux @pepite ;) J'ai quand même essayer aujourd'hui de faire sans Jeedom, mais je suis bloqué sur une contrainte technique de la HC2 qui fait que nous ne disposont pas de la librairy bit (bit32) pour les modules virtuel, Cette librairie aurait permit de pouvoir recreer l'algorhitme de cryptage, décryptage AES128 (à partir d'une code LUA suivant https://github.com/bighil/aeslua) pour ensuite produire la trames UDP pour communiquer avec notre aspi. Du coup techniquement infaisable selon moi, avec les paramètrafe actuelle Fibaro :(.

 

Il n'y a plus qu'a acheter le plugins XIAOMI dans Jeedom :) qui doit je suppose utiliser le module python :https://github.com/rytilahti/python-miio

Partager ce message


Lien à poster
Partager sur d’autres sites

il n'ya pas moyen de développer un petit soft windows et ensuite des requettes http ? qu'on pourrait ensuite utiliser dans un VD ? 

 

Perso je vais pas investir dans jeedom juste pour ca.. j'aimerai mieux trouver une autre solution

Modifié par Eliah

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 52 minutes, Eliah a dit :

juste pour ca.. 

 

Tu as bien raison :P:P , au début, c'est juste pour tester, juste pour un truc... et après on tombe dedans... :2:

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

ba justement j'ai pas envie de tester :) m'intéresse pas d'avoir plusieurs box ca devient l'enfer après

Partager ce message


Lien à poster
Partager sur d’autres sites

Tu as déjà une machine windows qui tourne 24/24h chez toi alors ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour. Ceci m'intéresse également de pouvoir contrôler l'aspi via la hc2. 

N'est-il pas possible de passer via un raspberry ? Lui au moins tourne 24/24 sans consommer. 

Ou via un Synology ? 

Si via jeedom cela fonctionne, cela doit sûrement fonctionner via un autre système. Ce ne sont que des commandes http non ? 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Hello, non justement ce n'est pas du http, ce sont des trames UDP avec une partie du paquet cryptee, j'ai continue à regardé toujours pas réussi à faire quelques choses, j'ai du trouver un code pour faire de l'aes, du md5 (pouvant tourné uniquement via scène), j'arrive pour l'instant à encrypté la partie data, il faut encore générer le paquet, pas dit que j'y arrive.

Envoyé de mon Nexus 5X en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai vu sur le site de Jeedom qu'il était possible d'installer le soft Jeedom sur un raspberry, syno et docker. Voir lien:

https://github.com/jeedom/documentation/tree/master/installation/fr_FR

 

Du coup, on peut simplement installer ce soft et créer un lien Fibaro - Jeedom pour la communication vers notre Xiaomi ? 

Donc pas de frais supplémentaire et inutile d'acheter la box jeedom.

 

Que pensez-vous de cette solution? Moi perso si ça fonctionne, ça ne me dérange pas de faire tourner le soft sur mon syno (directement sur le syno ou via docker) Voir même mon raspberry.

 

Du moment que je dois pas dépenser un bal de plus.

Partager ce message


Lien à poster
Partager sur d’autres sites

Voir le lien Jeedom dans ma signature, beaucoup à déjà été dit sur Jeedom, mais effectivement des liens existent et une solution hybride HC2/Jeedom permet de bénéficier du meilleur des deux.

Le raspberry étant un ordinateur de "test" l'utiliser en "production" est possible mais il faut avoir de bons backups, la carte SD peut se corrompre très vite car elle n'est pas vraiment conçue pour servir de disque dur pour une base de données.

L'installation via docker sur syno fonctionne mais ce n'est pas la plus simple ni la plus recommandée.

Bref, Jeedom est un bon produit, mais mal installé ou installé sur une mauvaise base il ne pourra pas faire des miracles.

  • Upvote 2

Partager ce message


Lien à poster
Partager sur d’autres sites

Je plussoie ce que vient d'écrire @sebcbien 

 

Pour contourner les limites de la HC2 et attirés par la gratuité, certains s'investissent à minima dans Jeedom (en temps et en matériel)

Comme l'explique @sebcbien, c'est prendre le risque de solutions non fiables (carte SD) ou "compliquées" comme Docker (voir l'avis général de @Lazer sur ce forum à propos de docker)

 

La domotique demande un minimum d'investissement

C'est le cas avec vos HC2 : au niveau du prix (non négligeable) et au niveau du temps (comprendre le fonctionnement des VD, le Lua, etc)

C'est également le cas de Jeedom, pour en découvrir tout le potentiel

 

PS :

S'investir à minima dans Jeedom ? pourquoi pas ? Mais il faut prendre ses responsabilités

Le pire que j'ai pu voir, ce sont les utilisateurs qui débarquent sur le forum Jeedom, ne lisent rien d'un topic, posent leur question par invectives, s'étonnent des réactions et après avoir obtenu réponse disparaissent.

C'est un exemple vécu encore récemment, car ayant répondu à une demande, je n'ai jamais eu de retour de l'utilisateur (qui n'a peut-être pas investi un centime dans Jeedom)

 

Pour être clair, je ne vise personne ici et je ne fais pas la morale :)

 

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

J'investis que pour Fibaro, et je n'ai pas envie d'investir dans un autre système de domotique.

Mon choix s'est porté sur Fibaro, et j'en suis (jusqu’à aujourd'hui) encore satisfait. Sauf quelques bugs que l'on a parfois.

Je trouve cela juste dommage que Fibaro ne développe plus grand-chose pour l'instant (Ou l'on entend peut-être pas parler de leurs développements)

Mais leurs plugins sont maintenant vieillots. J'ai acheté une nouvelle TV Samsung, et plus possible d'utiliser le plugin. Fibaro n'entretient plus ses plugins.

 

Ils auraient pu créer un API pour l'aspi Xiaomi. Je pense que Xiaomi a une API ouverte pour l'aspi. Fibaro ne prend plus la peine d'y travailler dessus.

 

Fibaro promet depuis maintenant 3 ans le parlophone. Je l'attends toujours. Ainsi que les Speakers (aux oubliettes?)

 

On doit perdre nous son temps à trouver des solutions pour que notre système domotique (sois-disant compatible avec tout) fonctionne avec tout.

Et ça je regrette un peu. j'ai déjà investi pour plus de 3000 euros en Fibaro. Ma maison est presque autonome. Et j'aurais voulu intégrer encore plus, mais les limites sont presque atteintes dû à la vétusté des plugin et développement de la part de fibaro. J'ai l'impression qu'ils ne sont plus motivé à avancer dans leurs systèmes.

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

On a souvent évoqué le sujet sur ce forum

Fibaro fait son chiffre d'affaires sur la vente de ses modules Z-Wave (et ceux compatibles Apple Homekit)

Leurs box sont fermées sur le protocole Z-Wave et Fibaro n'a pas intérêt à les ouvrir à des modules concurrents

Ainsi, ils protègent leur marché en ne publiant pas de template pour les modules Qubino et en n'ouvrant pas la possibilité d'intégrer des clés usb pour d'autres protocoles

 

Tout ceci semble logique, mais ce qui fait que les box Fibaro sont les plus fermées du marché domotique (sauf box type Somfy)

Bien que la HC2 avait à l'origine un gros potentiel, je me suis souvent demandé s'ils ne considéraient pas leur box comme le support de démonstration de leurs modules

Peut-être la réponse à leur peu d'empressement pour les plugins ?

 

Mais @Nico annonce depuis pas mal de temps de grosses nouveautés qui devraient sortir ?

 

  • Upvote 2

Partager ce message


Lien à poster
Partager sur d’autres sites

Anthony, 3000,00 € dans Fibaro, mais une seule box à 400,00 €. Donc au final tu as 2600,00 € de modules, les meilleurs du marché... Je ne vois pas trop le souci avec Fibaro la dedans.

 

Oui le portier arrive, c'est sûr désormais. Après tu t'ajoutes une passerelle, celle de ton choix. Moi dès le départ j'avais ajouté une Zibase pour toute la partie Somfy, Enocean. J'ai ajouté depuis un Jeedom en docker sur mon Syno (Même si certains n'aiment pas, cela fonctionne parfaitement), comme passerelle pour BLEA. Pas beaucoup plus pour le moment. Dans tous les cas dans ma tête et depuis que je suis sur ce fofo, j'ai été clair, la HC2 sera ma box principale, ensuite je rajoute les passerelles nécessaires. 
Aujourd'hui j'ai une seconde HC2 Slave pour le Pool House, 2 IPX 800, 3 Zibases, un Jeedom, un rasp mini en passerelle BLEA de Jeedom et une HC2 de secours pour la principale. Les passerelles les plus pratiques ? Pour moi la Zibase, d'une simplicité déconcertante. Aujourd'hui je prendrai des RFP1000, mais ils n'existaient pas encore à l'époque. L'IPX pareil, ultra fiable et simple. En gros tout dépend de ce que tu veux faire avec ta domotique.

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai trouvé un gars qui arrive contrôler son aspi Xiaomi avec Siri (Applekit). Je me dit du coup qu'il y a surement moyen avec Fibaro !

Voici le lien youtube qui le prouve:

 

 

Voici le lien qui peut surement nous aider: https://github.com/rytilahti/python-miio

 

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

pour info non le xiaomi n'a pas d'API ouverte, elle est fermée et cryptée :) Pour ce qui concerne Fibaro bcp de choses vont arrivées en 2018 et je crois qu'on ne regrettera pas notre investissement :P

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Ca peut aider?

 

 

 

 

Getting started

As long as the device is in the same network, mirobo discover can be used to check for its support status.

To be able to communicate with supported devices its IP address and an encryption token must be known. The token can be obtained either by extracting it from the database of the Mi Home application, or by using the automatic discovery.

Finding the token

Important For the Mi Robot Vacuum Cleaner with firmware 3.3.9_003077 or higher follow these steps to get the token: https://github.com/jghaanstra/com.xiaomi-miio/blob/master/docs/obtain_token_mirobot_new.md (another source).

This will also work for all other devices as long as the device has been bound with the Mi Home mobile application, and is therefore preferable way to attain the token.

miio-extract-tokens

The package provides a command line tool to extract tokens from Android backups and SQlite databases. Please follow the above-mentioned procedure to retrieve a backup (Android) or a SQlite database (Android & Apple). Encrypted tokens as recently introduced on iOS devices will be automatically decrypted. For decrypting encrypted Android backups the password has to be given to the command with --password <password>.

Please feel free to submit pull requests to simplify this procedure even more!

$ miio-extract-tokens backup.ab
Opened backup/backup.ab
Extracting to /tmp/tmpvbregact
Reading tokens from Android DB
Gateway
        Model: lumi.gateway.v3
        IP address: 192.168.XXX.XXX
        Token: 91c52a27eff00b954XXX
        MAC: 28:6C:07:XX:XX:XX
room1
        Model: yeelink.light.color1
        IP address: 192.168.XXX.XXX
        Token: 4679442a069f09883XXX
        MAC: F0:B4:29:XX:XX:XX
room2
        Model: yeelink.light.color1
        IP address: 192.168.XXX.XXX
        Token: 7433ab14222af5792XXX
        MAC: 28:6C:07:XX:XX:XX
Flower Care
        Model: hhcc.plantmonitor.v1
        IP address: 134.XXX.XXX.XXX
        Token: 124f90d87b4b90673XXX
        MAC: C4:7C:8D:XX:XX:XX
Mi Robot Vacuum
        Model: rockrobo.vacuum.v1
        IP address: 192.168.XXX.XXX
        Token: 476e6b70343055483XXX
        MAC: 28:6C:07:XX:XX:XX

Automatic discovery (does not work on all devices and firmware versions)

The automatic discovery works only before the device has been connected over the app to your local wifi. In order to fetch the token, reset the device, connect to the network it's announcing (e.g. rockrobo-XXXX for the vacuum) and run the following command:

mirobo discover --handshake 1

which should return something similar to this:

INFO:mirobo.vacuum:  IP 192.168.8.1: Xiaomi Mi Robot Vacuum - token: b'ffffffffffffffffffffffffffffffff'

If the value is as shown above, the vacuum has already been connected and it needs a reset. Otherwise the token can be copied over and used for controlling.

Controlling the vacuum cleaner

Following features of the vacuum cleaner are currently supported:

  • Basic functionality, including starting, stopping, pausing, locating.
  • Controlling the fan speed.
  • Fetching status and state of consumables. Resetting consumable state is not currently implemented, patches welcome!
  • Fetching and setting the schedules.
  • Setting and querying the timezone.
  • Manual control of the robot.

Use mirobo --help for more information about supported commands.

Usage

To simplify the use, instead of passing the IP and the token as a parameter for the tool, you can simply set the following environment variables.

export MIROBO_IP=192.168.1.2
export MIROBO_TOKEN=476e6b70343055483230644c53707a12

After that verify that the connection is working by running the command without parameters, you should be presented a status report from the vacuum.

Use mirobo --help to see available commands and description about what they do. --debug option can be used to let it show raw JSON data being communicated.

DND functionality

To disable:

mirobo dnd off

To enable (dnd 22:00-0600):

mirobo dnd on 22 0 6 0

It is also possible to run raw commands for testing:

mirobo raw_command app_start

or with parameters (same as above dnd on):

mirobo raw_command set_dnd_timer '[22,0,6,0]'

If you find a new command please let us know by creating a pull request or an issue, if you do not want to implement it on your own!

Usage examples

Status reporting

$ mirobo
State: Charging
Battery: 100
Fanspeed: 60
Cleaning since: 0:00:00
Cleaned area: 0.0 m²
DND enabled: 0
Map present: 1
in_cleaning: 0

Start cleaning

$ mirobo start
Starting cleaning: 0

Return home

$ mirobo home
Requesting return to home: 0

Setting the fanspeed

$ mirobo fanspeed 30
Setting fan speed to 30

State of consumables

$ mirobo consumables
main: 9:24:48, side: 9:24:48, filter: 9:24:48, sensor dirty: 1:27:12

Schedule information

$ mirobo timer
Timer #0, id 1488667794112 (ts: 2017-03-04 23:49:54.111999)
  49 22 * * 6
  At 14:49 every Saturday
Timer #1, id 1488667777661 (ts: 2017-03-04 23:49:37.661000)
  49 21 * * 3,4,5,6
  At 13:49 every Wednesday, Thursday, Friday and Saturday
Timer #2, id 1488667756246 (ts: 2017-03-04 23:49:16.246000)
  49 20 * * 0,1,2
  At 12:49 every Sunday, Monday and Tuesday
Timer #3, id 1488667742238 (ts: 2017-03-04 23:49:02.237999)
  49 19 * * 0,6
  At 11:49 every Sunday and Saturday
Timer #4, id 1488667726378 (ts: 2017-03-04 23:48:46.378000)
  48 18 * * 1,2,3,4,5
  At 10:48 every Monday, Tuesday, Wednesday, Thursday and Friday
Timer #5, id 1488667715725 (ts: 2017-03-04 23:48:35.724999)
  48 17 * * 0,1,2,3,4,5,6
  At 09:48 every Sunday, Monday, Tuesday, Wednesday, Thursday, Friday and Saturday
Timer #6, id 1488667697356 (ts: 2017-03-04 23:48:17.355999)
  48 16 5 3 *
  At 08:48 on the 5th of March

Adding a new timer

$ mirobo timer add --cron '* * * * *'

Activating/deactivating an existing timer, use mirobo timer to get the required id.

$ mirobo timer update <id> [--enable|--disable]

Deleting a timer

$ mirobo timer delete <id>

Cleaning history

$ mirobo cleaning_history
Total clean count: 43
Clean #0: 2017-03-05 19:09:40-2017-03-05 19:09:50 (complete: False, unknown: 0)
  Area cleaned: 0.0 m²
  Duration: (0:00:00)
Clean #1: 2017-03-05 16:17:52-2017-03-05 17:14:59 (complete: False, unknown: 0)
  Area cleaned: 32.16 m²
  Duration: (0:23:54)
  • Like 1
  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Prochainement disponible... ;) Ça fait le deuxième teasing que je fait. juste pour avoir des tester quand je sortirais le tuto.18c588f2c5ef4b79d70035960de7f850.jpg

Envoyé de mon Nexus 5X en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

Niquel. 

Je veux la même chose ! :D

 

Possible d'avoir le vfob ? 

 

Tu l'as développé toi ? En tout cas très beau travail. Exactement ce que je cherchait. 

Me disait bien que c'était possible via fibaro. 

Partager ce message


Lien à poster
Partager sur d’autres sites

Cool ! j'aurai pas fait ce sujet pour rien ;)

 

Si tu veux un beta tester hésite pas ;)

 

J'ai vu qu'il y avait un moyen de le gérer avec domoticz donc je me doutais que ca ne tarderait pas sur Fibaro.. ^^ 

 

Beau boulot en attendant..

 

C'est gérer directement en LUA ? Pas de script php ou python à faire tourner ?

Partager ce message


Lien à poster
Partager sur d’autres sites
Le 13/11/2017 à 11:56, anthonylegrec a dit :

Tu l'as développé toi ?

tu doutes d'@ADN non ? l'addon de HC2-Kodi, c'est lui aussi ;-)

 

il y a une heure, Eliah a dit :

C'est gérer directement en LUA ? Pas de script php ou python à faire tourner ?

Exactement ;-) En Direct LUA ;-)

 

il y a une heure, Eliah a dit :

Beau boulot en attendant..

Juste enoorme, on est d'accord, surtout que cela va certainement etre porté sur certains autres produits xiaomi ;-)

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.

×