Aller au contenu

DOMOTISER SON BAC GRACE A JEBAO ET JEEDOM


Messages recommandés

Bonjour,

Je voudrais partager avec vous ce que je viens de réussir à faire.

Etant assez mordu de domotique, quand j'ai réfléchi à mon projet récifal je me suis tout de suite orienté vers la marque JEBAO pour bénéficier de l'application JEBAO AQUA et espérer pouvoir récupérer les infos dans un système domotique, en l’occurrence JEEDOM.

Je préfère prévenir tout de suite je suis nul en JEEDOM et nul en TUTO, cela étant dit … allons-y !

Ça fait 3 mois que j'essaye sans y arriver et hier miracle, sur le forum community.jeedom on m'a apporté la solution tant espérée.

Pour le moment j'arrive à récupérer l'état de mes modules LED90 x2, LED120, pompe de brassage SOW9M x2 et pompe de remontée DCP 5M, mais je pense que ça doit marcher pour tous les produits JEBAO associables dans l’application. J'ai pu créer un scénario qui m'envoie une alerte en cas de perte de connexion pour chaque module.

Point négatif : je reçois le même retour si perte du wifi

Point positif : en cas de coupure de courant j'en suis averti dans les 5 à 10min

Evolution : je souhaite pouvoir contrôler mes appareils pour pouvoir par exemple passer les pompes en mode nourrissage uniquement en appuyant sur un bouton domotique (Xiaomi, Ikea,...) mais aussi passer d'un éclairage custom à un éclairage bleu en appuyant sur ce même bouton 2 fois. Mais ça c'est pour plus tard !

Comment j'ai fait :

1/ JEDAO AQUA :

Dans un premier temps j'ai installé mes appareils sur l'application JEBAO AQUA, qui est une application CLOUD, les données sont donc envoyées sur un serveur et chaque modification sur un appareil passe par ce serveur. L'application est obligatoire pour utiliser les LEDS mais pas pour les pompes qui ont un contrôleur physique.

2/PACKET CAPTURE :

Ensuite j'ai installé sur un vieille tablette android PACKET CAPTURE et JEBAO AQUA : voici un exemple pouvant être appliqué à JEBAO : https://community.jeedom.com/t/plugin-wifilightv2-recuperer-id-localkey-pour-tuya/13047

Le but ici est de récupérer l'USERTOKEN qui est votre identifiant sur le cloud de JEBAO ainsi que les différents DID qui sont les identifiants uniques de chaque appareil sur l'application JEBAO AQUA. Si vous ne trouverez pas les DID ce n'est pas grave nous les auront après.

Avec ces 2 éléments vous allez pouvoir domotiser votre aquarium avec JEEDOM, HOME ASSISTANT, DOMOTICZ,... N'ayant que JEEDOM je ne pourrais expliquer que pour celui-ci mais je suis presque sûr que c'est transposable.

3/JEEDOM

Je pars du postulat que vous avez déjà un JEEDOM fonctionnel, sinon voici quelques infos sur ce que c'est : https://jeedom.com/fr/

Pour récupérer l'état de chaque appareil nous avons besoin d'exécuter un script simulant que nous demandons les informations sur le cloud, celui nous retournera les différents DID ainsi que les infos complètes de chaque appareil.

Je vous vais montrer comment faire pour un appareil mais ensuite il suffit de dupliquer le script et le scénario.

script.jpg.650e3f7b2cc9f6afab995305e1d0b937.jpg

A / Récupérer tous les DID :

did.thumb.jpg.3306d0c704a3497adbbc68a52f600865.jpg

Si vous n’avez pas trouvé vos DID dans PACKET CAPTURE, il vous faut créer un SCRIPT type INFO, sous-type AUTRE avec la requête :

curl -X GET --header 'Accept: application/json' --header 'X-Gizwits-User-token:USERTOKEN' --header 'X-Gizwits-Application-Id:5c9b45e1d7684d9c883a0425644feccd' 'https://euapi.gizwits.com/app/bindings?limit=20&skip=0'

APPLICATIONID : 5c9b45e1d7684d9c883a0425644feccd (l’identifiant de l’api JEBAO AQUA sur les serveurs GIZWITS)

Remplacez USERTOKEN par celui récupéré dans PACKET CAPTURE, sauvegardez (il y aura sûrement un message d’erreur car trop long) puis testez. Vous devriez avoir un résultat du genre (j’ai 6 appareils donc forcément assez imbuvable) :

Résultat de la commande : {"devices": [{"protoc": 3, "ws_port": 8080, "port_s": 8883, "is_disabled": false, "gw_did": null, "wifi_soft_version": "04020826", "dev_alias": "Brassage Gauche", "mesh_id": null, "is_online": true, "host": "eum2m.gizwits.com", "sleep_duration": 0, "dev_label": [], "port": 1883, "remark": "1", "did": "did1", "mac": "mac", "product_key": "key", "wss_port": 8880, "state_last_timestamp": 1603745060, "role": "special", "is_sandbox": false, "passcode": "mdp", "type": "normal", "product_name": "name", "is_low_power": false}, {"protoc": 3, "ws_port": 8080, "port_s": 8883, "is_disabled": false, "gw_did": null, "wifi_soft_version": "04020826", "dev_alias": "Brassage Droit", "mesh_id": null, "is_online": true, "host": "eum2m.gizwits.com", "sleep_duration": 0, "dev_label": [], "port": 1883, "remark": "1", "did": "did2", "mac": "mac", "product_key": "key", "wss_port": 8880, "state_last_timestamp": 1603745055, "role": "special", "is_sandbox": false, "passcode": "mdp", "type": "normal", "product_name": "name", "is_low_power": false}, {"protoc": 3, "ws_port": 8080, "port_s": 8883, "is_disabled": false, "gw_did": null, "wifi_soft_version": "04020829", "dev_alias": "LED AL120", "mesh_id": null, "is_online": true, "host": "eum2m.gizwits.com", "sleep_duration": 0, "dev_label": [], "port": 1883, "remark": "1", "did": "did3", "mac": "mac", "product_key": "key", "wss_port": 8880, "state_last_timestamp": 1603745675, "role": "special", "is_sandbox": false, "passcode": "mdp", "type": "normal", "product_name": "name"is_low_power": false}, {"protoc": 3, "ws_port": 8080, "port_s": 8883, "is_disabled": false, "gw_did": null, "wifi_soft_version": "04020829", "dev_alias": "LED AL90 D", "mesh_id": null, "is_online": true, "host": "eum2m.gizwits.com", "sleep_duration": 0, "dev_label": [], "port": 1883, "remark": "1", "did": "did4", "mac": "d8f15b1091d0", "product_key": "key", "wss_port": 8880, "state_last_timestamp": 1603746072, "role": "special", "is_sandbox": false, "passcode": "mdp", "type": "normal", "product_name": "name", "is_low_power": false}, {"protoc": 3, "ws_port": 8080, "port_s": 8883, "is_disabled": false, "gw_did": null, "wifi_soft_version": "04020829", "dev_alias": "LED AL90 G", "mesh_id": null, "is_online": true, "host": "eum2m.gizwits.com", "sleep_duration": 0, "dev_label": [], "port": 1883, "remark": "1", "did": "did5", "mac": "mac", "product_key": "key", "wss_port": 8880, "state_last_timestamp": 1603652158, "role": "special", "is_sandbox": false, "passcode": "mdp”, "type": "normal", "product_name": "name"is_low_power": false}, {"protoc": 3, "ws_port": 8080, "port_s": 8883, "is_disabled": false, "gw_did": null, "wifi_soft_version": "04020826", "dev_alias": "Remont\u00e9e", "mesh_id": null, "is_online": true, "host": "eum2m.gizwits.com", "sleep_duration": 0, "dev_label": [], "port": 1883, "remark": "", "did": "did6", "mac": "mac", "product_key": "key", "wss_port": 8880, "state_last_timestamp": 1603586199, "role": "special", "is_sandbox": false, "passcode": "mdp", "type": "normal", "product_name": mdp", "is_low_power": false}]}

Vous pouvez en profiter pour noter quel dev_alias correspond à quel did pour ensuite bien nommer vos devices sous JEEDOM.

B / Récupérer toutes les infos d’un appareil :

En l’occurrence je vais montrer pour ma pompe de BRASSAGE DROIT :

1554918574_didbrassaged.thumb.png.19b3a63f189e9467433bd15186b5cdea.png

Il faut donc créer un SCRIPT, type INFO et sous-tire AUTRE. La requête devra être comme suit :

curl -X GET --header 'Accept: application/json' --header 'X-Gizwits-User-token:usertoken' --header 'X-Gizwits-Application-Id:applicationid' 'https://euapi.gizwits.com/app/devices/did?limit=20&skip=0'

USERTOKEN : celui récupéré via PACKET CAPTURE

APPLICATIONID : 5c9b45e1d7684d9c883a0425644feccd (l’identifiant de l’api JEBAO AQUA sur les serveurs GIZWITS)

DID : le did d’un des appareils récupérés via PACKET CAPTURE

Sauvegardez (malgré un message d’erreur en rouge) si vous testez vous verrez que vous aurez une réponse du type :

Résultat de la commande : {"remark": "1", "protoc": 3, "wss_port": 8880, "ws_port": 8080, "did": "did que vous avez indiqué dans le script", "port_s": 8883, "is_disabled": false, "proto_ver": "04", "product_key": "clé produit identique pour les mêmes appareils", "port": 1883, "host": "eum2m.gizwits.com", "mac": "adresse mac de l’appareil", "state_last_timestamp": 1603745055, "role": "special", "gw_did": null, "mesh_id": null, "is_online": true, "passcode": "mdpuniquedel’appareil", "sleep_duration": 0, "product_name": correspond à mon avis aux programmes", "is_low_power": false}

Ce qui nous intéresse en particulier pour le moment c’est la variable is_online qui est sur TRUE si l’appareil est connecté au cloud et FALSE si il ne l’est pas.

C / Récupérer IS_ONLINE :

Nous allons maintenant créer le second SCRIPT pour BRASSAGE D que j’appelle Statut. Type de script JSON, type INFO, sous-type BINAIRE. Nous devons rentrer comme requête is_online et comme URL celle de notre premier script.

Pour l’URL de notre précédent script, cliquez sur la roue crantée et sur le mot : URL, une nouvelle page s’ouvre, copié l’adresse complète.

Sauvegardez et cliquez sur Tester. Vous aurez alors un résultat de : 1 sur l’appareil est en ligne et 0 si il ne l’ai pas.

D / Choix de la fréquence d’actualisation :

1531259813_cronbrassaged.jpg.89888b05ce381034f335af25e25355d1.jpg

Comme évoqué plus haut, l’appareil se connecte au serveur donc il faut garder en tête qu’il peut y avoir une inertie entre le fait qu’un appareil saute et le fait que le serveur actualise l’information. Par exemple si je demande au script de vérifier l’état toutes les 5mins j’aurais le retour d’une coupure sous 1 à 10 min.

1 min si la coupure à lieu juste avant l’actualisation et que le délai de mise à jour du serveur est top.

10 min si la coupure à eu lieu juste après l’actualisation et que le délai de mise à jour est mauvais.

A chacun de choisir le juste milieu entre paranoïa, et surcharge de JEEDOM !!!

E / Création des SCENARIOS :

scenario.jpg.98f99e8973f71d05da8ba04e7fa7ab8a.jpg

Içi rien de spécial pour les utilisateurs de JEEDOM, chacun peut gérer comme il l’entend sa domotique. Pour ma part je reçois une notification en cas de changement de l’état sur l’application JEEDOM et sur TELEGRAM (passe de 1 à 0 ou de 0 à 1).

 

1974514987_provoqu.jpg.404776fb8a13c6e2a8e5740225e205e2.jpg

1294179262_scenariobrassaged.thumb.jpg.eb9a64a10ae180013a5f492587261783.jpg

 

4 / CONTROLE DES APPAREILS :

Pour le moment je n’ai pas commencé à m’y pencher mais ce soir je vais faire des tester…

 

Merci d'avoir lu. Si vous avez des questions n'hésitez pas, j'essayerais de répondre dans la mesure du possible de mes faibles compétences !!! Si quelqu'un de plus callé que moi en JEEDOM veut simplifier qu'il n'hésite pas ...

script.jpg

Modifié par angeck
Lien à poster
Partager sur d’autres sites
Merci pour le partage. Je ne m'orienterai pas vers cette voie, plutôt un pilotage Arduino, mais sait-on jamais.
Quel est ce langage ?
Pourrais-tu montrer la connexion sur Jebao pour piloter en PWM ?
Pour moi Arduino c'est un achat supplémentaire, là je cherchais du tout inclus. Mais bizarrement c'est sûrement plus simple avec Arduino. Enfin avant qu'il y ait un tuto.

Concernant le language je ne peux que te dire que le script est en curl pour récupérer les informations infos qui sont en json.

Par contre je n'ai pas compris la dernière question.

Envoyé de mon Mi MIX 2S en utilisant Tapatalk

Lien à poster
Partager sur d’autres sites
Le début du commentaire faisait allusion au pilotage de la Jebao. J'ai pensé que tu te connectais  au fil, dans le carter, permettant la gradation de la vitesse.
Comment communique la pompe avec l'app Jebao Aqua ? Il y a un boitier ?
Les pompes/leds sont WiFi. Elles sont donc connecté au serveur JEBAO et l'application également.

Envoyé de mon Mi MIX 2S en utilisant Tapatalk

Lien à poster
Partager sur d’autres sites
  • 2 months later...

Je n'ai pas pris le temps de poster ici depuis un moment mais j'ai réussi à intégrer complétement le matériel Jebao.

Je peux donc :
avec un bouton Ikea couper les pompes de brassage pour 10min,
sur un second bouton passer de l'éclairage de l'instant T au mode full blue, et inversement
j'ai programmé un arrêt des pompes de brassage à 9/13/16/19h pour 8 min le temps du nourrissage avec le distributeur,
programmé la pompe de remontée pour qu'elle passe de 35% à 50% toutes les 2h pour 5mins

Ce n'est qu'un exemple de ce que l'on peut faire...

J'ai prévu de me commander la pompe doseuse pour ajout de Easybooster 25 deux fois par jours, mais aussi pour ajout d'une solution pour remonter le kh très lentement et sûrement d'autres idées pour après...

Envoyé de mon Mi MIX 2S en utilisant Tapatalk

Lien à poster
Partager sur d’autres sites
  • 2 weeks later...


Bonjour,

Je viens de récupérer des pompes doseuses WiFi de la marque, j'ai vu ton post (abandonné ?) sur le forum Jeedom et en continuant mes recherches je te retrouve ici avec un tuto, très cool ! 

Je vais tenter d'intégrer les pompes en suivant ton tuto si tu continues celui-ci afin d'expliquer comment tu contrôles les appareils (le retour d'état me semble inutile avec les pompes doseuses, je fais juste un monitoring WiFi classique pour voir si elle est online/allumée via jeedom) 

Lien à poster
Partager sur d’autres sites

Hello.

J'ai commandé ma pompe doseuse. Je l'attends.

J'ai prévu de l'intégrer. Je pourrais t'aider en attendant d'avoir la mienne.

En attendant tu peux déjà me donner les logs pour voir.

Envoyé de mon Mi MIX 2S en utilisant Tapatalk

Lien à poster
Partager sur d’autres sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

Chargement
×
×
  • Créer...

Information importante

En poursuivant votre navigation, vous acceptez l’utilisation des cookies pour vous proposer des contenus adaptés à vos centres d’intérêt et réaliser des mesures pour améliorer votre expérience sur le site. Pour en savoir plus et gérer vos paramètres, cliquez ici