Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Détecter fin de cycle machine à laver
#1
Hello,

ma femme me pose une colle ... Elle veut savoir quand la machine à laver a fini son job, et je vois pas trop comment faire ...
J'ai bien imaginer surveiller la conso élec, mais elle a des moments de son cycle ou elle consomme presque rien. Idem pour la conso d'eau.

Si vous avez des idées, je suis preneur ! Pour une fois que ma femme est en demande d'une fonction, je bloque Big Grin
Répondre
#2
Un peu de bidouille?

http://blogs.fsfe.org/clemens/2011/08/05...g-machine/

Je pense qu'il doit y avoir moyen d'avoir un contact sec à gérer avec du knx, ou direct en IP...

Seb
Sinon, la conso basse pendant le cycle dure combien de temps?

parce qu'il suffit de détecter une conso basse de plus de X minutes, et ça devrait le faire, non?

Seb
Répondre
#3
J'ai oublié de préciser que j'avais moyennement envie d'ouvrir la bête Smile
Sinon oui, je récupère la sortie du voyant qui s'allume ou de la protection de porte. Mais la machine est encore sous garantie Smile
J'avais plutôt dans l'idée un truc non invasif.

J'ai déjà essayé via la conso, mais il y a certains programmes (laine ou je sais plus quoi) ou il y a des phases de repos et ou la machine ne consomme pas pendant plusieurs minutes (pas chronométré, mais genre assez long) et qui donnaient des faux positifs (plus de faux que de vrais en fait) aussi à cause de la résolution de mon capteur de conso (un KES).

En fait, j'imaginais un moyen "simple" de "lire" l'état du voyant rouge qui s'allume (photorésistance sur un module d'entrée) ou d'écouter le bip qu'elle fait quand elle a terminé (ça existe un détecteur de bruit KNX ?)
Répondre
#4
Me machine joue une douce mélodie en fin de cycle, que fait la tienne, peut-être qu'un micro ou un truc du genre bien placé peut récupérer l'info.
Répondre
#5
Elle fait un bip assez long, d'une bonne seconde entière.
J'ai trouvé un capteur sonore KNX, mais on ne peux pas lui mettre de discrimination. Il va réagir à chaque bruit ...
https://www.esylux.com/fr/be/k/automatis...P10426445/

Il faudrait que le bidule reconnaisse la signature du bip et ne réagisse qu'à ça. Pas simple :/
Répondre
#6
Sinon, la led de fin de cycle...

Mais il faut mettre un peu les mains dans le cambouis, sans toucher à la machine..

Un lien vers un petit montage pour actionner un relais sur détection de lumière:
http://www.sonelec-musique.com/electroni...e_002.html

Si ça ne convient pas, j'avoue que je sèche ...Confused

Si, une autre idée: une machine à laver connectée KNX ? Big GrinBig GrinBig GrinBig Grin
Répondre
#7
J'viens de regarder par curiosité le prix des machines à laver "connectés", j'en suis tombé de ma chaise Big Grin

J'ai trouvé ce module d'entrée analogique sur lequel on branche un peu ce qu'on veut visiblement.
Une photorésistance avec les bonnes caractéristiques devrait fonctionner non ?
http://www.knx-gebaeudesysteme.de/sto_g/...5D0301.PDF

Ou alors une prise "connectée" qui me donnera une analyse plus fine de la conso que mon KES (résolution de 100W...) genre ça http://www.mclsamar.com/ECOMMERCE_WEB/FR...wp?P1=3146
Répondre
#8
Ah, si tu veux reconnaître le son que fait le buzzer en fin de cycle, j'ai un truc pour toi !

Au hackerspace que je fréquente, j'avais justement lancé l'idée de pouvoir détecter l'alarme incendie de manière non intrusive. Du coup, un copain qui touche bien en traitement du signal a pondu un petit bout de code ultra simple qui tourne sur un Arduino, et qui fait une détection homodyne d'un signal sonore. Ça marche vraiment du feu de dieu.

Le code est ici :

https://gist.github.com/edgar-bonet/0b03...366bc05fc6

Compliqué, hein ? Wink

Attention, si tu veux faire tourner le code sur un Leonardo, il faut changer le numéro de canal ADC, car il ne les numérote pas de la même façon.

Pour revenir au KNX, tu peux sortir un contact qui active un relais qui pilotera un moduel d'entrée KNX.

Voici ma version du code, pour un Leonardo, justement (je compte utiliser celui-ci), qui active une sortie, et rentre dans une boucle infinie (il faut le reseter pour relancer le code ; tu peux adapter).

Code :
/*
* homodyne.ino: Homodyne detection of a 3.03 kHz signal.
*
* This program continuously samples analog input 0 and uses an homodyne
* detection scheme to identify a signal at 3.03 kHz (+/- 24 Hz @ -3dB).
*
* The analog-to-digital converter is set to "free running mode" and
* takes one sample every 104 us. The samples are multiplied by two
* generated signals at 1 kHz (the "local oscillator"), in quadrature to
* one another. The products are then low-pass filtered with a time
* constant of 64 sample periods (6.656 ms), which gives the (I, Q)
* signals with a 24 Hz bandwidth. Finally, the signal power is computed
* as I^2 + Q^2.
*
* The program is intended for an Arduino Leonardo, and is likely to work on
* any AVR-based Arduino having an ADC and clocked at 16 MHz.
*
* For a detailed explanation, see
* http://arduino.stackexchange.com/a/21175
*
* Copyright (c) 2016 Edgar Bonet Orozco.
* Released under the terms of the MIT license:
* https://opensource.org/licenses/MIT
*/

#include <util/atomic.h>

// The frequency we want to detect, in Hz.
const float SIGNAL_FREQ = 3030.0; // ADJUST!

// Power detection level
const uint16_t POWER_TRESHOLD = 32768; // ADJUST!

// Timing bits.
const float SAMPLING_FREQ = F_CPU / (128 * 13.0);  // 9.615 kHz
const long PHASE_INC = round(SIGNAL_FREQ / SAMPLING_FREQ * (1L << 16));
const int LOG_TAU = 6;  // tau = 64 / SAMPLING_FREQ = 6.656 ms

// Analog input to use.
const uint8_t ANALOG_PIN = 7;

// The number of the LED pin.
const uint8_t LED_PIN = 13;

// The number of the alarm pin.
const uint8_t ALARM_PIN = 9;

// Print every xxx ms
const uint16_t PRINT_PERIOD = 1000;

// Demodulated (I, Q) amplitudes.
volatile int16_t signal_I, signal_Q;

int8_t sample;


// Set the ADC to free running mode.
static void configure_adc()
{
    ADMUX  = _BV(REFS0)   // ref = AVCC
           | _BV(ADLAR)   // left adjust result
           | ANALOG_PIN;  // input channel
    ADCSRB = 0;           // free running mode
    ADCSRA = _BV(ADEN)    // enable
           | _BV(ADSC)    // start conversion
           | _BV(ADATE)   // auto trigger enable
           | _BV(ADIF)    // clear interrupt flag
           | _BV(ADIE)    // interrupt enable
           | 7;           // prescaler = 128
}


// Interrupt handler called each time an ADC reading is ready.
ISR(ADC_vect)
{
    // Read the ADC and convert to signed number.
    sample = ADCH - 128;

    // Update the phase of the local oscillator.
    static uint16_t phase;
    phase += PHASE_INC;

    // Multiply the sample by square waves in quadrature.
    int8_t x = sample;
    if (((phase>>8) + 0x00) & 0x80) x = -1 - x;
    int8_t y = sample;
    if (((phase>>8) + 0x40) & 0x80) y = -1 - y;

    // First order low-pass filter.
    signal_I += x - (signal_I >> LOG_TAU);
    signal_Q += y - (signal_Q >> LOG_TAU);
}


// Return a power reading.
static uint16_t get_power_reading()
{
    int16_t I, Q;
    ATOMIC_BLOCK(ATOMIC_RESTORESTATE) {
        I = signal_I;
        Q = signal_Q;
    }
    return sq((int8_t)(I >> LOG_TAU)) + sq((int8_t)(Q >> LOG_TAU));
}


void setup()
{
    Serial.begin(9600);

    configure_adc();

    // Set the digital led pin as output:
    pinMode(LED_PIN, OUTPUT);

    // Set the digital alarm pin as output:
    pinMode(ALARM_PIN, OUTPUT);
}


void loop()
{
    static uint16_t last_print;

    uint16_t power = get_power_reading();

    // Print a power reading every PRINT_PERIOD ms.
    uint16_t now = millis();
    if (now - last_print >= PRINT_PERIOD) {
        Serial.println(sample);
        digitalWrite(LED_PIN, HIGH);
        last_print += PRINT_PERIOD;
    }
    if (now - last_print >= 10) {
        digitalWrite(LED_PIN, LOW);
    }
    
    // Check power level
    if (power > POWER_TRESHOLD) {
        digitalWrite(ALARM_PIN, HIGH);
        digitalWrite(LED_PIN, HIGH);

        // Wait forever
        while (true);
    }
}

Hope this helps!
Frédéric

https://pknyx.gbiloba.org (de nouveau en ligne !)
Répondre
#9
l'idée de la conso élec c pas bête faut voir pour mettre éventuellement une tempo assez longue en cas de conso basse ou juste si conso nulle pendant x temps = cycle terminer
Répondre
#10
Merci pour toutes vos idées Smile
Je sens que je vais tester la détection du signal sonore pour le fun, à défaut de trouver une prise wifi/conso avec API et qui ne passe pas par le cloud

Par contre, pour ton besoin initial, sais-tu que la Welcome sait détecter une alarme (incendie, intrusion, ...) et ça marche très bien aussi. Testé par inadvertance avec un manque de pile d'un babyphone, qui s'est mis à bipper, et j'ai reçu la notif sur mon téléphone via la welcome Smile
Répondre
#11
Késako, la Welcome ?
Frédéric

https://pknyx.gbiloba.org (de nouveau en ligne !)
Répondre
#12
La Welcome de Netatmo, la caméra qui reconnait les visages
https://www.netatmo.com/fr-FR/produit/Camera
Répondre
#13
Hello,

je suis bien intéressé par le sujet, un moyen simple d'augmenter le WAF de l'installation Smile J'avais déjà regardé vite fait la reconnaissance de la mélodie de fin de cycle le temps d'une soirée mais ça demande à être creusé.
Et pareil, pas envie d'ouvrir une machine sous garantie Smile
Répondre
#14
(14/04/2016, 09:37:10)Joffrey a écrit : La Welcome de Netatmo, la caméra qui reconnait les visages
https://www.netatmo.com/fr-FR/produit/Camera


c' est juste une application qui fonctionne avec ou on peux associer cette camera a l installation domotique knx ?
Répondre
#15
Jeedom a un plugin Welcome, donc peut faire l'intermédiaire encore Welcome et KNX.
Mais ça c'est quand Jeedom fonctionne ... (voir mon post d'hier soir ...)
Répondre
#16
Sinon contrôle de courant sur la sortie de la prise machine a laver
Répondre
#17
Heu oui, on a évoqué 3-4 fois cette possibilité dans les posts précédents, seulement comme je l'ai expliqué dans le 1er post, il arrive parfois à ma machine, durant certains cycles, de s'arrêter quelques minutes et donc ne consomme (presque) plus.
Ma sonde de conso (un KES) n'a pas une assez bonne résolution pour faire la différence entre un cycle en cours mais dans cette fameuse phase de pause, et la fin du cycle.

Sinon, je regardais hier les nouvelles Samsung Addwash avec option wifi. Visiblement c'est de la grosse daube, il faut appuyer à chaque machine sur un bouton "smartcontrol" pour autoriser la connectivité, et visiblement il n'y a pas d'API proposé par Samsung.
Quelqu'un a déjà testé cette gamme ?
Répondre
#18
Bon, je crois avoir trouvé la solution Smile
Je viens de commander une prise Mpower mini de Ubiquiti pour moins de 40€ https://www.amazon.fr/Ubiquiti-Networks-...uctDetails

Pour ce prix, on a une prise commandable en wifi (sans cloud !) avec relevé de conso. En principe, sa résolution sera suffisante pour détecter l'arrêt de cycle et non une simple pause.
A noter qu'un plugin Mpower vient de sortir sur Jeedom, facilitant encore l'intégration.
A savoir aussi qu'il existe des Mpower à 3 et 6 sorties (chaque sortie pilotable individuellement). Une bonne alternative et pas cher pour domotiser ce qu'on a oublié de câbler en KNX et/ou ce qui est de moindre importance Smile
Je ferai un retour quand j'aurai testé le biniou
Répondre
#19
Joffrey ... tu doit être maso pour continuer à commander du matériel qui fonctionne avec Jeedom Big GrinBig GrinTongue
Le perfectionnement de soi et l'accession à sa légende personnelle passe obligatoirement par le partage de son savoir et de son expérience avec les profanes en demande d'initiation. (R. Bach)
Répondre
#20
C'est la machine à laver, c'est pas critique Big GrinBig GrinBig Grin

Et puis le soft d'Ubiquiti gère déjà les notifs, j'aurai même pas besoin de Jeedom pour envoyer un mail dans l'absolu.
Mais blague a part, j'ai eu une belle frayeur la dernière MaJ de Jeedom ...
Répondre
#21
juste pour comprendre, une sauvegarde t'aurais permis de redémarrer propre en quelques minutes, ou bien Jeedom avais planté toute ton install (Modification de GA, d'adresses de participants...?)
Merci
Répondre
#22
Non, le backup m'aurait juste permis de retrouver ma conf Jeedom (que j'ai fini par récupérer d'ailleurs)
A cause de l'activation du groupcache d'EIBD par la mise à jour, Jeedom répétait toute les trames avec le flag "T" (transmit) 6 ou 7 fois, donc toutes les trames des capteurs notamment. Et comme j'en ai un grand nombre chez moi, le bus s'est retrouvé saturé.
De plus sans trop que je sache pourquoi, Jeedom a saturé de connexions mon routeur IP/KNX, plantant donc ETS et Lifedomus.
Le plus bizarre est qu'après avoir arrêté Jeedom, pas mal de participants ont gardé des symptômes (muets sur le bus, impossible de communiquer avec ETS, ...) et j'ai donc du en réinitialiser quelques uns. Le plus hard a été mon Zennio Z38i, qui même après réinit, débranchement/rebranchement, refusait de charger sous ETS. J'ai fini par devoir lui changer son adresse physique pour reprendre la main dessus.
Bref une grosse frayeur, et un WAF qui a chuté de 10 étages (le Karotz qui répétait 7 fois "attention il pleut", c'est moyen ...).
Cet incident ne fait que conforter mon avis : Jeedom est une très bonne boîte à outils à utiliser en superviseur secondaire, ou alors sur une toute petite install avec une femme très compréhensible, mais en aucun cas en superviseur principal sur une grosse install devant porter des fonctions essentielles.
Répondre
#23
Pour revenir au Mpower d'Ubiquiti, c'est de la balle !
Pour 40 € ça fait papa-maman Smile))
Et surtout ce que je souhaites !
Même pas besoin de domotique en fait, le bidule est totalement autonome (enfin il faut que je valide ce soir).
Il a juste besoin du soft mFi d'ubiquiti pour la config.

je met en prod ce soir à la maison et viens confirmer que c'est la solution idéale Smile

Exemple de config


Pièces jointes Miniature(s)
   
Répondre
#24
Et bien ça marche pas mal du tout Smile
J'ai même ajouté un SMS pour madame.
A confirmer au bout de quelques jours d'utilisation.
Répondre
#25
cool, merci..
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 18 visiteur(s)