Aller au contenu

Recommended Posts

Nespresso Manager

 

5aaec2787e89f_Sanstitre10.thumb.png.abc37f9aac900e9634dd01b4b1a4702c.png

 

 

Préambule :

 

Vous trouverez ci-dessous le nouveau Virtual Device qui permet de suivre la consommation de café sur une machine Nespresso (en distinguant la taille des cafés réalisés).

 

A l'origine de projet :

 

Je cherchais une solution pour identifier au moment du réveil qui est la personne entre moi et mon épouse qui vient de se lever (sachant que nous nous levons pas forcement au même moment).

Avec pour objectif de réaliser des scenarios personnalisés en fonction de la personnes qui vient de se lever (ex: envoyer un message vocal Sonos personnalisé annonçant la météo).

Ne disposant pas de caméra avec reconnaissance de visage, je me suis demandé quoi utiliser d'autre.

J'ai donc recherché qu'elle est l'action que nous réalisons tous les 2 chaque matin au réveil et qui est spécifique a chacun de nous 2.

En faite, c'est un café. Mon épouse se fait un café long et moins un café court. Je sais c'est très spécifique, mais bon ça le fait quand même.

Pour ce faire, j'utilise un Wall Plug et je mesure la durée et la consommation électrique pour déterminer la taille du café fait.

J'ai essayé de faire ces mesures avec GEA, mais la variation du nombre de Watt est trop inconstante et la durée de traitement est trop courte (café court > 30sec. cf. Cycle GEA de 30sec.)

Dun coup, j'ai décidé de créer une VD et une scène de management de ma machine Nespresso.


Le Projet :

 

Le but du projet consiste à :

  • Identifier l'heure des premiers cafés réalisés chaque jour selon les 3 programmes (Court, Moyen, Long) disponibles sur ma machine Nespresso
  • Comptabilisé le nombre de cafés réalisés selon les 3 programmes
  • D'identifier l'horaire et le type de café réalisée

 

Vos idées/suggestions sont le bienvenues ;)

 

Pré-requis :

  1. Disposer d'une machine à café (Nespresso ou autre type avec le même principe de fonctionnement) :P
  2. Disposer d'un Wall Plug qui mesure la consommation électrique (ex: FGWPE-102)

Installation :

  1. Télécharger, installer et configurer le Virtual Device ci-dessous (pour la dernière version)
  2. Télécharger, créer et configurer la Scène ci-dessous (pour la dernière version)

Configuration :

 

Du Virtual Device :

 

Dans l'onglet Avancé de VD importé, il convient de :

  1. De nommer votre VD (ex. : Nespresso) à votre convenance
  2. De désigner la pièce ou se situe votre machine à café.

Ne pas oublier de sauvegarder ;)

 

Cf. image ci-dessous :

 

5aaeca86169d7_Sanstitre11.thumb.png.30983fb5aa167fbeafe6bc5790892be2.png

 

Charger les icônes ci-dessous :

 

On  5aaecb08ced6f_NespressoOn.png.65f3c52e92a62251c245f3a540aaaf6f.png

Off 5aaecb20646f4_NespressoOff.png.1331f79a1e92b1d9d97798c268787b43.png

 

  1. Modifier l'icône de votre VD, en associant celle représentant l'état "Off"
  2. Modifier l'icône du bouton "❌ Réinitialisation" votre VD, en associant celle représentant l'état "Off"

Ne pas oublier de sauvegarder ;)

 

De la scène associé au VD :

 

Dans l'onglet Avancé de la scène importée, il convient de :

  1. Créer votre scène
  2. Nommer votre scène (ex. : Nespresso) à votre convenance.
  3. De désigner la pièce ou se situe votre machine à café.
  4. Paramétrer à un le Max. running instances
  5. Paramétrer à "Automatic" Run scene
  6. Charger et modifier l'icône de votre scene, en associant celle représentant l'état "Off"

Ne pas oublier de sauvegarder ;)

 

Cf. image ci-dessous :

5aaecd138799f_Sanstitre12.thumb.png.cd1b2d8b810f72aaa2be0ef9b6d3c390.png

 

Configurer les variables de votre scène :

 

Cf. image ci-dessous :

 

5ab0d93a97f0a_Sanstitre13.thumb.png.0fd606a09e5f67d0ff2298e2495448ab.png

 

Ne pas oublier de sauvegarder ;)

 

Principe d'analyse des données :

La détermination de la longueur du café se fait à partir de l'identification des différentes la phase de réalisation du café. Voir schéma ci-dessous :

  • Phase 1 : Préchauffage de la machine (optionnelle). Elle ne s'exécute pas si vous venez de faire un café.
  • Phase 2 : Réalisation du café (le café coule). C'est celle-ci qui nous intéresse et plus particulièrement sa durée
  • Phase 3 : Nouvelle phase de préchauffage dont le but, je suppose est d'anticiper la réalisation d'un prochain café. Cette phase doit être ignorée.

Pour identifier le début (TO) la phase 2, il convient déjà de savoir s'il y a eu une phase 1 de préchauffage.

  • S'il y eu une phase de préchauffage :
    • Il convient de l'ignorer en identifiant la fin de préchauffage. Soit une consommation inférieure à 2 watts (voir variable Nespresso_WP_MinPowerEndPhase)
    • Puis identifier l'instant du premier pic de température (TO dans le schéma) qui suite et qui est supérieur à un seuil de consommation à 700 watts (voir variable Nespresso_WP_MinPowerCafeCycle)
  • S'il n'y pas eu une phase de préchauffage :
    • Identifier l'instant du premier pic de température (TO dans le schéma) qui est supérieur à un seuil de consommation à 700 watts (voir variable Nespresso_WP_MinPowerCafeCycle)

Pour identifier la fin (T(fin)) de la phase 2, il convient

  • D'identifier une consommation inférieure à 2 watts (voir variable Nespresso_WP_MinPowerEndPhase)
  • De repérer l'instant du dernier pic avec un seuil de consommation supérieur à 700 watts (voir variable Nespresso_WP_MinPowerCafeCycle)

Enfin , pour déterminer la durée de réalisation du café, cela correspond à l'écart en seconde entre T(fin) et T0.

 

CQFD ;)

 

5ab0d22e9c3cf_Sanstitre12.thumb.png.53974ad263269bccd97fb2fcf91ed6ac.png

 

De GEA version V6.06 (à partir de) :

 

Pour lancer mes scénarios, j'utilise GEA en interceptant les changements de valeurs les labels du VD.

  • Envoi de messages vocaux annonçant la Météo en préfixant l'annonce par un bonjour en citant la personne qui vient de se lever (selon la taille du café qu'elle vient de se faire). Une seule fois (si le label est non vide).
  • Remise à zero à 4h du matin des valeurs contenues dans les 3 premières valeurs du VD (horaire des premiers cafés) pour que la matin les messages vocaux fonctionnent à nouveau.

 

(optionnel) Pour gérer automatiquement l'extinction et de l'allumage du Wall Plug de la machine Nespresso afin d'économiser l'électricité (0,3 watts en permanence !)

 

Pour configurer GEA, il convient de :

 

Mettre l'en-tête de GEA ajouter les lignes suivantes, en modifiant le numéro afin de le faire correspondre à votre VD chargé précédemment :

(350 dans mon cas)

  • %% properties
    350 ui.lblCafeShort.value
    350 ui.lblCafeMedium.value
    350 ui.lblCafeLong.value

Si utilisation de l'option de gestion automatique du Wall Plug :

  • Ajouter également dans la section %% Properties l'ID de votre détecteur de mouvement situé dans votre cuisine. 

(89 dans mon cas)

  • %% properties
    89
  • Déclarer votre détecteur de mouvement situé dans votre cuisine dans le tableau "local id = {" 

(MOUVEMENT_CUISINE = 89 dans mon cas)

  •   local id = {
               MOUVEMENT_CUISINE      = 89,
               ...

 

Ajouter à vos linge GEA les lignes suivantes : 

    GEA.add({
    		{"Label",id["VD_Nespresso"], "lblCafeShort", ""},
    		{"Label",id["VD_Nespresso"], "lblLastTypeCafe", "Court"},
    		{"Weather!", "Temperature" ,""},
    		{"WeatherLocal!",""}
    		}, -1, "",
          	{
      		{"Inverse"},
      		{"sonostts", id["VD_SONOS"], id["VD_SONOS_BT"], "Bonjour Michel, nous sommes le #datefull# il fait dehors {tempexttts} et le temps est #value[4]#", 30}
      		}, "Nespresso : Café court")
    GEA.add({
    		{"Label",id["VD_Nespresso"], "lblCafeMedium", ""},
    		{"Label",id["VD_Nespresso"], "lblLastTypeCafe", "Moyen"},
    		{"Weather!", "Temperature" ,""},
    		{"WeatherLocal!",""}
    		}, -1, "",
          	{
      		{"Inverse"},
      		{"sonostts", id["VD_SONOS"], id["VD_SONOS_BT"], "Bonjour Michel, nous sommes le #datefull# il fait dehors {tempexttts} et le temps est #value[4]#", 30}
      		}, "Nespresso : Café moyen")
    GEA.add({
      		{"Label",id["VD_Nespresso"], "lblCafeLong", ""},
      		{"Label",id["VD_Nespresso"], "lblLastTypeCafe", "Long"},
      		{"Weather!", "Temperature" ,""},
      		{"WeatherLocal!",""}
    		}, -1, "",
    		{
      		{"Inverse"},
      		{"sonostts", id["VD_SONOS"], id["VD_SONOS_BT"], "Bonjour Gaby, nous sommes le #datefull# il fait dehors {tempexttts} et le temps est #value[4]#", 30}
    		}, "Nespresso : Café long")
    GEA.add({"Time", "04:00"}, 30,"", 
    		{
    		{"Label",id["VD_Nespresso"], "lblCafeShort", ""},
    		{"Label",id["VD_Nespresso"], "lblCafeMedium", ""},
    		{"Label",id["VD_Nespresso"], "lblCafeLong", ""}
    		},"Nespresso : Réinitialisation des infos du VD")

    -- WP Nespresso Marche/Arrêt ------------------------------------------------
    -- Si la détecteur Cuisine est activé on allume le WP de la machine Nespresso
    GEA.add({{id["WP_Nespresso"]}, {id["MOUVEMENT_CUISINE"]}}, -1  , "", {{"Inverse"}, {"turnOn", id["WP_Nespresso"]}}, "Mise en marche du Wall Plug Nespresso")
    -- Eteindre le WP de la machine Nespresso si pas de mouvement dans la cuisine de plus de 5 mn.
    GEA.add({{id["MOUVEMENT_CUISINE"]}, {id["WP_Nespresso"]}}, 5*60, "", {{"Inverse"}, {"turnOff", id["WP_Nespresso"]}, {"Repeat"}}, "Extinction du Wall Plug Nespresso")
  

Si utilisation de l'option de gestion automatique du Wall Plug :

  • Modifier les lignes GEA de gestion du Wall Plug et remplacer MOUVEMENT_CUISINE par le nom que vous aurez donné à votre détecteur de mouvement situé dans la cuisine.

 

Utilisation du VD :

  • Explications sur les différentes informations et actions disponibles sur le VD

 

5aaed306c78fd_Sanstitre14.thumb.png.533ad5ed7bec66994cc07a0dec7329b0.png

 

Versions :

  • V1.0 : du 18/03/2018 -> Intialisation du projet
  • V1.1 : du 20/03/2018 -> Changer de méthode d’analyse pour traiter la phase de préchauffage qui est variables. Je suis parti sur un chargement complet des données en mémoire puis une ’analyse des données pour déterminer les différentes phase pour pouvoir isoler celle qui correspond à la partie ou le café coule réellement (la partie qui permet de déterminer sa longueur).

 

Evolutions à venir :

  • Optimisation du code pour gérer les phases de préchauffage de l'eau: Fait
  • A voir selon vos suggestions :huh:

 

Dernière version du VD :

 

VD Nespresso V1.00.vfib.json

 

Dernière version de la scène :

 

Scene Nespresso v1.10.lua

 

Modifié par MAM78
  • Like 3

Partager ce message


Lien à poster
Partager sur d’autres sites

Excellent. Tu as pareil pour une Jura ? :) 

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 6 heures, Nico a dit :

Excellent. Tu as pareil pour une Jura ?

Et une delonghi ...?  ;)

après sur les machines type broyeur , il serait intéressant  de contrôler le stock restant de grains dans le bac ...

contrôle en fonction du type de café (long - court - ...) et le nombre déjà fait ..

 

quand le seuil est critique ... alerte du stock ...

 

 

voilà l'idée...

 

en tout cas super taff @MAM78   :16:

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Yes, mais bon moi il y a un paquet de facteur, car j'ai aussi une cuve de lait connecté dessus avec plaque pelletier pour maintenir le lait au frais, donc le nombre de cafés différents qu'on peut faire dessus risque de rendre difficile la détection.

Partager ce message


Lien à poster
Partager sur d’autres sites

Perso, j'ai juste de la peine à comprendre pourquoi un "Nespresso Manager" se retrouve dans la section "Eclairages".

  • Like 1
  • Haha 2

Partager ce message


Lien à poster
Partager sur d’autres sites

Est-ce qu'un Admin pourrait déplacer le TUTO dans la bonne section SVP ?

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 12 heures, Nico a dit :

Yes, mais bon moi il y a un paquet de facteur

@Nico je suis d'accord avec toi ... l'idée des grains de café est une piste de réflexion pour adapter à ce type de machine .

 

mais il est vrai qu'il a beaucoup de spécificités en fonction des modèles .

Après, on peut toujours partir sur une base qui pour le moins est faire du café .... pour une machine à café ...normale ...:D

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Patientez un petit peu, je vais changer de méthode d’analyse. J’ai un souci avec les phases de pre-chauffage qui sont très variables. Je vais partir sur un chargement complet des données en mémoire puis procéder à l’analyse des données pour déterminer les différentes phase pour pouvoir isoler celle qui correspond à la partie ou le café coule réellement (la partie qui permet de déterminer sa longueur).


Envoyé de mon iPhone en utilisant Tapatalk Pro

Partager ce message


Lien à poster
Partager sur d’autres sites

euhhh, moi j'ai une solution plus simple et qui marche à tous les coups ...  si quand je me réveille je suis tout seul dans le lit, c'est que mon épouse est déjà debout, sinon ben c'est moi le premier :lol::lol:

ok ok , :98:

  • Like 1
  • Haha 4

Partager ce message


Lien à poster
Partager sur d’autres sites

Moi aussi c'est simple. S'il y a moins de 10 secondes entre l'ouverture de la porte de la chambre et celle des toilettes .... c'est moi :P

 

Sinon, 2 capteurs de mouvement sous le lit ... le premier qui pose le pied à perdu.

 

 

Plus sérieusement, le temps de préchauffage est variable pour chaque model de Nespresso. La durée pour mon café long est quasiment identique à mon latte macchiatto, la différence entre un expresso et un ristretto est minime. Bref, de quoi s'amuser un bon moment à "tuner" tout cela mais cela semble réalisable. Perso, je n'y vois pas d'intérêt mais j'aime bien suivre ce genre de défis.

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 1 heure, Steven a dit :

Perso, je n'y vois pas d'intérêt mais j'aime bien suivre ce genre de défis.

L'intérêt de l'exercice porte peut-être également dans l'usage d'autres appareils qu'une machines Nespresso.

 

Avec un peu de jus de cerveau ont peu y arriver ;)

 

La version 1.1 de ma scène le permet. Comme évoqué précédemment, j'ai revue la logique d'analyse et là ça semble fonctionner.

 

Encore quelques tests pour affiner les durées et les seuils et je pense que ce sera bon :74:

 

Je partage la nouvelle version dans le premier Post.

 

V1.1 : du 20/03/2018 -> Changer de méthode d’analyse pour traiter la phase de pré-chauffage qui est variables. Je suis parti sur un chargement complet des données en mémoire puis une ’analyse des données pour déterminer les différentes phase pour pouvoir isoler celle qui correspond à la partie ou le café coule réellement (la partie qui permet de déterminer sa longueur).

Modifié par MAM78
  • Like 2

Partager ce message


Lien à poster
Partager sur d’autres sites

Je serais curieux de savoir combien de café tu as bu pour faire tes tests ? :D

  • Haha 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Presque aucun pour les tests, j'ai tout simplement réutilisé les capsules usagées :P

 

Juste quelques tests réels pour mesurer les durées moyennes des 3 types de tailles (court, moyen, long). Ces durées ne sont pas les mêmes entre des capsules neuves et usagées.

 

J'ai complété le Tuto pour expliquer la méthode d'analyse et plus particulièrement comment traiter le cas de la phase de préchauffage.

 

Voir chapitre : Principe d'analyse des données :

 

Partager ce message


Lien à poster
Partager sur d’autres sites

L'intérêt que j'y voit moi c'est de pas se retrouver comme un c.... sans capsule et sans cafe le matin... ^^

 

@MAM78, il faudrait que tu arrive a coupler ton script a ça ^^

 

https://www.amazon.fr/Amazon-JK29LP-LOr-Dash-Button/dp/B06Y1PGG7H/ref=lp_10909391031_1_1?s=amazon-devices&ie=UTF8&qid=1521545896&sr=1-1

 

5ab0f2c980930_Capturedcran2018-03-2012_37_32.png.7af1db6fb0855e5195913291b1b7ce65.png

 

 

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Et quand tu n'as plus de capsule, tu appuies sur le bouton DASH qui les commande ;-)

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Roh.... tu me decois @pepite...

Tu hack le bouton et le VD commande automatiquement :)

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Impossible, quand tu utilises le DASH avec Jeedom il ne faut pas l'associer à autre chose, donc pas de courses automatiques, dommage ;-)

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a une heure, schwinny a dit :

L'intérêt que j'y voit moi c'est de pas se retrouver comme un c.... sans capsule et sans cafe le matin... ^^

Pareil , l’intérêt que j'y vois aussi c'est gérer le stock de paquets café grains...

 

trop dur la rupture de café le matin ...:3:

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Trop compliqué le décompte des capsules en stock.
J’ai trop de variétés différentes de capsules pour pouvoir identifier celles qui sont consommées et donc celles restantes.


Envoyé de mon iPhone en utilisant Tapatalk Pro

Partager ce message


Lien à poster
Partager sur d’autres sites

@MAM78 bon, fais quand même attention avec ton truc, parce que le jour où ta femme se lève avant toi et décide pour une fois de se faire un café court...  si elle entend "Bonjour Maurice" dans le Sonos, ca va pas être WAF :D en plus je suis déçu, franchement, tu oses dire que le décompte des capsules c'est trop compliqué, après avoir mis en place tout ce truc  ?   noon, ca c'est de la mauvaise foi :lol:

 

bon, par contre, plus sérieusement, fais gaffe à un point...  je me demande si, sur certaines machines, il n'y a pas un calcul de la puissance nécessaire en rapport avec la pression demandée (chaque capsule demande une pression un peu différente suivant le type de café)...  donc faire les tests avec des capsules vides, ... 

Partager ce message


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

je me demande si, sur certaines machines, il n'y a pas un calcul de la puissance nécessaire en rapport avec la pression demandée (chaque capsule demande une pression un peu différente suivant le type de café)...  donc faire les tests avec des capsules vides, ..

C'est bien pour ça que j'ai fais quelques tests avec des capsules neuves pour étalonner les durées de chaque taille de cafés en situation réelle.

 

Sérieusement et comme indiqué, cette solution pour identifier une personne au réveil est très perfectible. Mais bon, dans 95% des cas ça marche. Ca me suffit et ma WAF est prévenue ;) T'inquiètes je vais pas me faire virer pour ça. Enfin je crois :huh:

 

Pour moi j'y vois, plus un intérêt relatif pour avoir une idée de la consommation de capsules. Tu me diras qu'il aurait été plus simple de compter les boites vide ;)

 

L'autre intérêt, c'est l'exercice de style de mesurer une consommation électrique et d'identifier des phases pour en déterminer des événements. C'est une bonne base faire des mesures pour d'autres type d'équipements. :74:

Partager ce message


Lien à poster
Partager sur d’autres sites

Et en plus ça fait un beau TUTO :P

Partager ce message


Lien à poster
Partager sur d’autres sites

suis d'accord avec toi, c'est un bel exercice de style...  suis un peu comme @Steven, je ne vois pas trop l'intérêt pour moi (j'aime pas la domotique dans ce sens là), mais j'admire l'exercice, et comme tu dis, ca peut servir à autre chose...  bon courage pour la suite

Modifié par Cardane

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 1 minute, Cardane a dit :

domestique

:60:

Partager ce message


Lien à poster
Partager sur d’autres sites

ah ah ah ....  corrigé depuis :lol::60:

Partager ce message


Lien à poster
Partager sur d’autres sites

×