Dernières nouvelles

Un chauffe biberon sous haute surveillance

Ceux qui me suivent sur Twitter le savent déjà, je suis une nouvelle fois papa depuis le 4 août.

Une petite fille qui se nomment Camille. Par rapport au premier qui a déjà 5 ans et demi, j’ai beaucoup évolué au niveau domotique 😉 !

C’est pour ça qu’après avoir oublié deux fois d’éteindre le chauffe biberon, ma femme  m’a dit « Tu peux pas faire quelque chose pour domotiser ça ? ».

J’ai répondu aussitôt : « Pas de soucis, je m’en occupe 😉 ! »

Voila … comment tout à commencé !

Le but initial était donc de domotiser le chauffe biberon pour qu’il s’arrête tout seul au bout de 5 min.

Rien de plus simple avec l’eedomus, une petite prise Zwave Everspring AN157, et le tour est joué.

Tout d’abord, on ajoute la prise sur l’eeDomus.

Dans le menu configuration, il suffit de cliquer sur « Ajouter ou supprimer un périphérique » :

Puis sur inclure un périphérique sans fil :

Lorsque la procédure d’inclusion démarre, il suffit de cliquer 3 fois sur le bouton de la prise pour l’inclure sur l’eeDomus.

Si la procédure échoue, pensez à tenter d’exclure votre prise avant de réessayer. De même penser que les appuis doivent être rapide et vous pouvez en faire 5, 6 … pour être sûr de réussir l’inclusion.

Une fois la prise incluse dans le réseau eeDomus, la page de configuration s’affiche :

Renseignez les paramètres de base (Chauffe biberon, localisation …), puis dépliez le menu Paramètres Expert pour noter le code API du périphérique (ici 11134). Nous verrons plus tard l’utilisation de cette donnée.

Le but premier étant de faire une simple minuterie, nous allons utiliser une programmation eeDomus. Les programmations sont des assistants qui permettent de faire certaines actions automatiquement.

Il faut donc cliquer sur « Configuration », puis « Programmation » et « Nouvelle programmation » :

On voit de nombreuse possibilité, comme « Simulation de présence », « Réveil matin » … ce qui m’intéresse ici, c’est : « Minuterie ».

Il suffit de choisir cette programmation :

La box demande alors de saisir le nom de la minuterie, le périphérique à superviser et la durée de la minuterie :

Et voila, c’est fini !!!

Grâce au retour d’état sur le Zwave, la box eeDomus détecte automatiquement lorsque nous allumons le chauffe biberon et 5 minutes après, elle l’éteint.

Bon, j’avoue que cette opération m’ayant pris à peu près 2 minutes, j’étais un peu sur ma faim …

Je me suis dit, je vais utiliser le Karotz pour nous prévenir ! A la fin des 5 minutes, le Karotz dira : « Le biberon est prêt »

Grâce à l’application Karotz eeDomus : http://www.karotz.com/appz/app?id=2368, j’utilisais déjà mon petit lapin qui est dans le salon pour nous informer de la fermeture, l’ouverture des volets… J’ai donc simplement ajouté un message pour le chauffe biberon :

 

Ensuite, j’ajoute une petite règle pour détecter l’arrêt du chauffe biberon et lancer la séquence vocale de Karotz !

Tout marchait super bien, trop bien même, les widgets eeDomus permettant de voir depuis combien de temps un périphérique est dans son état actuel, on se servait de cet affichage pour voir le temps entre deux biberons 🙂 :

Alors, après la 12ème fois ou ma femme me dit : « tu peux regarder à quelle heure elle a bu », j’ai dit : « Il faut faire quelque chose ! »

J’ai cherché rapidement sur l’AppStore Karotz une application qui permette de lire un fichier texte distant. Le truc tout bête… Mais j’ai rien trouvé 🙁 !

Pas de soucis, je vais me développer ça vite fait 😉 !!!!

Quelques minutes plus tard, voilà qui est fait, j’ai nommé l’application « Donne moi » . Comme ça, avec la reconnaissance vocale, il suffit de dire « Donne moi l’heure du biberon », et en nommant le profil « lheure du biberon », le lapin chargera un fichier php distant et me lira le contenu. A moi de faire les actions avec l’API eeDomus pour récupérer l’heure et la renvoyer vers le lapin !!!!

Vous trouverez l’application ici : Application Donne Moi. N’oubliez pas comme toujours de vous connecter sur Karotz.com avant de cliquer sur le lien. L’application vient d’être soumise pour validation, elle n’est donc pas encore officiellement dans le Karotz Store.

Ensuite, il suffit de créer un profil sur l’application et de charger le fichier php que nous allons créer ci-dessous :

Je ne manque pas d’éloge sur l’API eeDomus, mais vous allez voir encore une fois que c’est d’une simplicité…

En utilisant la fonction « get?action=periph.caract« , la plateforme eeDomus renvoie les caractéristiques du périphérique sous forme d’un fichier json qu’il suffit ensuite d’analyser pour récupérer la date et heure de dernière modification…

Voici le fichier biberon.php :

<?php

// Identifiant de l'API eeDomus
$api_user = "xxxxx";
$api_secret = "xxxxx";

// Code API du périphérique chauffe biberon
$periph_id = 11134;

// Prénom du bébé
$prenom = "Camille";

// Nombre d'heure souhaité entre chaque biberon
$nbheure = 3;

$json = file_get_contents("http://api.eedomus.com/get?action=periph.caract&periph_id=".$periph_id."&api_user=".$api_user."&api_secret=".$api_secret);

$data = json_decode($json);

$timestamp = strtotime($data->body->last_value_change);

// Calcul le temps depuis le dernier biberon
$diff = time()-$timestamp;
$heure = floor($diff/60/60);
$minute = floor(($diff-$heure*60*60)/60);

echo $prenom." a bu son dernier biberon il y a ".$heure." heures et ".$minute." minutes !\n";

// Calcul l'heure suposé du prochain biberon 😉 ...
$next = time() + $nbheure*60*60 - ($heure*60*60+$minute*60);

if ($heure>=$nbheure)
  echo "Vous avez de la chance que ".$prenom." n'ai pas encore réclammé.";
else
  echo "Le prochain biberon devrait être vers ".date("H:i", $next);
  
  
?>

Il faut bien sûr remplacer la valeur du code api du périphérique par celui de votre chauffe biberon, les informations d’authentification de l’API eedomus et le prénom par celui de votre enfant 😛 !

Maintenant, quand je dis à mon Karotz : « Donne moi l’heure du biberon »

Il me répond :

« Camille a bu son biberon il y a 2 heures et 26 minutes ! Le prochain biberon devrait être vers 13h45 »

Et voila !

Reste plus qu’à domotiser le changement des couches … ça, pour l’instant j’ai pas d’idée, j’attends votre aide 😉 !

A propos de Mickael

Je suis passionné de Domotique depuis des années. J'ai fait du développement en informatique industrielle pendant 12 ans, et un jour ... je me suis lancé ! J'ai créé ma boutique de vente en ligne : http://www.planete-domotique.com

7 commentaires

  1. d’après ce que je m’en souviens (et c’était pas y a super longtemps) j’aurais surtout un développement qui fasse « donner » le bob la nuit. Si aujourd’hui tu pouvais en faire un qui fasse faire les devoirs… ^^

  2. Bien vu Mickaël 😉

    Bon je vais peut-être pas me remettre au boulot rien que pour tester ta méthode mais j’avoue que si j’avais pu faire ça il y a une quinzaine d’années ça m’aurait bien aidé 🙂

    Pascal

  3. Super ton article ! ma femme m’avait devancé pour acheter le chauffe biberon sinon j’aurai mis la même chose que toi 😉

  4. Excellent ! 😀
    Bon, déjà trop tard pour moi, à 6 mois il attaque les petits pots… Mais c’est bien trouvé 😉

  5. Rien que pour l’appli Karotz je dis bravo !

  6. pense tu qu avec la zibase je peut faire la meme chose?t es trop fort mickael merci pour ton onduleur il marche super

  7. Bonjour,
    Je débute dans la domotique (eedomus) et je souhaite faire une minuterie pour la lampe de chevet de mon fils. J’ai créé comme vous une règle de minuterie qui marche bien mais mon soucis vient plutôt de l’allumage.
    Pour allumer la lampe je dois appuyer sur le bouton du an157 (celui ci devient rouge) et non sur l’interrupteur de la lampe ce qui n’est pas très pratique (la prise étant sous le lit 🙂
    Comment faire pour que la minuterie se déclenche lorsque on appuie sur l’interrupteur de la lampe et non pas le bouton de l’activateur ?
    J’ai 2 états : bouton an157 rouge, la minuterie commence même si la lampe est éteinte et bouton an157 éteint impossible d’allumer la lampe…(sauf via le site eedomus)
    Bon, je débute soyez indulgent si ma question est idiote 😉
    Merci BCE
    Alex

Répondre

Votre adresse email ne sera pas publiée. Les champs obligatoires sont marqués d'une étoile *

*

Revenir en haut de la page