Boutons poussoir & V5

Bonjour à tous,

Je rencontre un problème depuis le début de mon installation avec mes BP Schneider Odace et le V5 (La version logiciel actuelle est 5.6.1). Lorsque j’appuis sur un des BP la lumière s’allume (ou s’éteint) une fois sur trois. Les BP sont neufs et n’ont jamais connu le 230v.

J’ai utilisé du câble cat7 avec une mise à la terre des blindages. Le phénomène se passe sur des courte distances (3m) comme des plus longues (10m) mais uniquement avec le V5 et pas les X4VR, X8R et XDimmer. Je pensais que le contact ne se faisait pas bien sur ces fils (peut-être trop fin?) mais avec des causses ça ne change rien.

Lorsque le changement d’état ne se fait pas, j’entends le relai de manière plus forte, je suis parti du principe que c’était du à un double changement d’état.

J’ai vu d’autres fil de discussion mais je n’ai pas trouvé comment résoudre mon problème. Avant de faire des changements matériel, y a t’il un moyen au niveau logiciel pour éviter de prendre en compte 2 contacts secs dans la même fraction de seconde ?

Auriez-vous des idées à me suggérer svp ?

Merci et bonne soirée

Bonjour, j’ai depuis le début de mon installation le même problème avec ma V5, mais j’utilise peu ses entrées digitales, la plupart sont sur un X24D (v1) qui ne me pose aucun soucis, donc j’ai pris l’habitude d’appuyer une seconde fois sur les quelques poussoirs concernés (des Legrand). Mais s’il y a un correctif, je prends !

1 « J'aime »

Bonjour,

J’ai une installation similaire (IPX800-v5 5.6.0) et je ne rencontre pas ce souci. Au niveau matériel, il y a une petite différence, mes BP schneider odace sont câblés en 1.5mm², car je transforme une installation existante en 220v.

Au niveau logiciel, mes entrées digitales ne sont pas reliées directement sur les relais, mais je passe par un scenario du type : [entré digital] -> [SWITCH][relais].

En espérant que ça aide :slight_smile:

Bonne journée

2 « J'aime »

Bonsoir, avez vous ouvert votre ipx vers l’extérieur en passant par le port 443.
Javais le meme soucis, avec ce port ouvert mon ipx redemarrait tres regulierement sans que cela ce voit sur mon installation et de ce fait le premier appui sur le BP refaisait juste la meme action que la précédente.

bonjour @Controlix

Ce serait intéressant sur ton installation d’avoir une entrée digitale relié directement sur un relais et voir si cela entraine des problèmes, sauf si cela a déjà été le cas et que le fait de passer par scénario a résolu le problème parce si c’est le cas c’est un cas d’usage qui pourrait être porté au wiki et que cela pourrait être aussi une voie d’amélioration pour l’ipx800v5 si c’est possible de l’intégrer dans le code dans la partie entrée digitale reliée directement à un relais ! :wink:

Bonsoir,

Si je relie directement l’entrée digitale reliée à mon BP avec l’input de mon relais. Dès que je relâche mon BP, la lumière s’éteint. :sweat_smile:

Avant de passer par un scénario, j’utilisais un objet télérupteur entre mon entrée digitale et mon relai. Je suis passé sur un scenario sinon, quand j’activais le relai directement par une commande autre (interface IPX, SmartGCE, etc…) mon objet télérupteur n’était plus synchrone avec l’état de mon relai et je devais parfois appuyer 2 fois sur mon BP pour faire l’action désirée (1 premier appui qui place le télérupteur dans le même état que le relai et un second appui qui l’inverse).

Ca c’est quand on reçoit des visiteurs…jour…nuit…jour… :rofl:

Je pensais avec un inter normal bien sur pour souci de parasites ou d’effet rebond et surtout pour le fait d’utiliser du cable 1.5 ! :sweat_smile:

Donc en tout cas avec des BP Schneider Odace (pareil pour d’autres je suppose) apparemment même si on utilise des BP câblés en 1.5 et en passant par un scénario utilisant une tuile "switch " il sembles pas y avoir de problème de comportement alors que @nelson qui a câblé avec du cat7 et ayant dans l’ip l’entrée digitale directement reliée au relais, ca semble lui poser problème , c’est ce point qui me chiffonnais !

Bonjour,
le firmware ne peut pas éliminer des parasites s’il y en a, un anti-rebond n’est pas un filtre.
@controlix a câblé en 1.5mm², et si ça fonctionne, c’est super. Mais c’est un cas rare et nous ne pouvons pas inciter à ce type de câblage qui est contraire au préconisations de @gce.
Une installation en 1.5mm² peut fonctionner un temps. Puis un nouveau réfrigérateur, une nouvelle tondeuse, un nouveau store ou encore une nouvelle antenne 5G dans le voisinage viendront perturber cet équilibre précaire. Il faudra alors revoir l’installation dans son intégralité.

La préconisation reste le câble blindé :wink:
Bonne journée

Bonjour,
Je vais effectuer des tests ce weekend entre câble de plus grosse section et utilisation de scénarii. Mais j’ai du mal à voir ce qui peut être fait pour réellement corriger ce problème ou simplement mieux diagnostiquer. Je ne comprends pas non plus pourquoi l’ipx v5 ne réagit pas comme les autres produits de sa gamme et notamment avec des interrupteurs de grande marque.

J’avais fait cette config basique avec une tempo pour éteindre après x minutes:

Bonne journée

1 « J'aime »

Bonjour à tous,

@controlix

si vous utilisez un objet télérupteur en lien pour gérer une sortie, vous devez également passer par l’entrée de ce télérupteur par ihm, smartgce ou scénario, de cette manière il est toujours synchro.

Le fonctionnement est le même, à la différence que les liens entrées/sorties sont gérés en dur dans le firmware des extensions, alors que vous pouvez les créer comme bon vous semble sur l’ipx. C’est là que la difficulté réside à cause de toutes les subtilités des liens ou objets.

J’ai donc quelques questions.

  1. Avez-vous vérifié si des liens et scénarios ne venaient pas se contrarier ?

  2. image
    Comment est configuré le mode de fonctionnement de la tempo ? créez un widget afficheur de temps lié au countdown sur votre dashboard pour vérifier si ce n’est pas votre tempo qui dysfonctionne (si 0 alors extinction prématurée). Le mode de la tempo pour votre utilisation devrait être HOLD (pas On/Off).
    Vous trouverez plus d’informations ici:
    IHM V5 en détails : Les ressources et les liens

  3. De même que pour Controlix, votre tempo doit aussi éteindre la sortie du télérupteur en même temps que la sortie relais, sinon vous désynchronisez l’ensemble.

Bonne journée

Bonjour @fgtoul,

En électronique, il y a un paquets de façon de limiter les parasites (filtre passe-haut, filtrage de l’alim ou augmentation de la puissance etc)
En informatique, une simple boucle de temporisation avant de prendre en compte le signal suivant suffit.

Avant google était mon ami", maintenant chatgpt est mon ami (mais pas en mode bourrin en mode « aide moi à retrouver plus vite l’info dans mon cerveau qui devient de plus en plus lent » …j’en vois déjà venir certains…! :rofl: )

Ce qui peut-être intéressant c’est : "est-ce que la tuile « switch » passe un algo filtre que n’aurait pas le lien direct ? Si oui, est-ce transposable sur le code de traitement du lien direct ?

Chatgpt : écris une fonction filtrage logiciel : si le signal est lu par un microcontrôleur ou un système embarqué, appliquer un filtrage logiciel ou une détection de fronts pour ignorer les variations rapides dues au bruit.

Fonction en C : Filtrage logiciel et détection de fronts

Voici une implémentation en C pour un filtrage logiciel et une détection de fronts. Ce type de fonction est couramment utilisé pour les microcontrôleurs ou les systèmes embarqués pour nettoyer les signaux bruités avant de les traiter.

#include <stdbool.h>

// Filtrage logiciel pour un signal bruité
bool filter_signal(bool current_input, unsigned int debounce_delay_ms, unsigned int sampling_interval_ms) {
static bool last_state = false; // Dernier état stable détecté
static unsigned int stable_time = 0; // Temps durant lequel l’état est stable
static unsigned int elapsed_time = 0; // Temps écoulé depuis le dernier changement

// Vérifie si l'état a changé
if (current_input != last_state) {
    elapsed_time = 0; // Réinitialise le temps si changement détecté
} else {
    elapsed_time += sampling_interval_ms;
    // Si l'état reste stable pendant "debounce_delay_ms", le considère comme valide
    if (elapsed_time >= debounce_delay_ms) {
        stable_time = elapsed_time;  // Met à jour le temps stable
        return current_input;       // Retourne l'état stable
    }
}

last_state = current_input; // Met à jour le dernier état observé
return last_state;          // Retourne l'état précédent

}

// Détection de fronts (montant et descendant)
typedef enum {
NO_EDGE, // Pas de changement
RISING_EDGE, // Front montant détecté
FALLING_EDGE // Front descendant détecté
} SignalEdge;

SignalEdge detect_edge(bool current_input) {
static bool previous_state = false; // Dernier état observé
SignalEdge edge_detected = NO_EDGE;

if (current_input != previous_state) {
    // Front montant
    if (current_input == true) {
        edge_detected = RISING_EDGE;
    }
    // Front descendant
    else {
        edge_detected = FALLING_EDGE;
    }
}

previous_state = current_input; // Met à jour l'état précédent
return edge_detected;           // Retourne le type de front détecté

}

Explications :

Fonction filter_signal:
    Cette fonction implémente un debounce logiciel pour éliminer les variations rapides du signal.
    Paramètres :
        current_input : L'état actuel du signal (0 ou 1).
        debounce_delay_ms : Durée minimale pendant laquelle le signal doit rester stable pour être considéré comme valide.
        sampling_interval_ms : Intervalle entre les lectures successives du signal.
    Retourne l'état filtré et stable du signal.

Fonction detect_edge:
    Cette fonction détecte les fronts montants (passage de 0 à 1) et les fronts descendants (passage de 1 à 0).
    Paramètres :
        current_input : L'état actuel du signal.
    Retourne un des trois types de transitions :
        NO_EDGE, RISING_EDGE, ou FALLING_EDGE.

Utilisation :

Voici un exemple d’utilisation des deux fonctions :

#include <stdio.h>
#include <unistd.h> // Pour la fonction usleep

int main() {
// Exemple de signal bruité
bool noisy_signal = {0, 0, 1, 1, 0, 1, 1, 1, 0, 0};
size_t signal_length = sizeof(noisy_signal) / sizeof(noisy_signal[0]);

// Paramètres de filtrage
unsigned int debounce_delay = 50; // En millisecondes
unsigned int sampling_interval = 10; // Intervalle d'échantillonnage

for (size_t i = 0; i < signal_length; i++) {
    bool filtered = filter_signal(noisy_signal[i], debounce_delay, sampling_interval);
    SignalEdge edge = detect_edge(filtered);

    // Afficher le signal filtré et les fronts détectés
    printf("Signal: %d, Filtré: %d, Front: %s\n", noisy_signal[i], filtered,
           edge == RISING_EDGE ? "Montant" :
           edge == FALLING_EDGE ? "Descendant" : "Aucun");

    usleep(sampling_interval * 1000); // Simuler un délai d'échantillonnage
}

return 0;

}

Sortie attendue :

Pour un signal bruité comme celui-ci : {0, 0, 1, 1, 0, 1, 1, 1, 0, 0}, le code peut produire une sortie similaire :

Signal: 0, Filtré: 0, Front: Aucun
Signal: 0, Filtré: 0, Front: Aucun
Signal: 1, Filtré: 1, Front: Montant
Signal: 1, Filtré: 1, Front: Aucun
Signal: 0, Filtré: 0, Front: Descendant
Signal: 1, Filtré: 1, Front: Montant
Signal: 1, Filtré: 1, Front: Aucun
Signal: 1, Filtré: 1, Front: Aucun
Signal: 0, Filtré: 0, Front: Descendant
Signal: 0, Filtré: 0, Front: Aucun

Ce code peut être utilisé dans des microcontrôleurs (Arduino, STM32, etc.) ou des systèmes embarqués pour traiter les signaux bruités provenant d’interrupteurs, capteurs ou autres sources.

Préconisations faites car le lien direct en BT posait problème en l’occurrence ?
Dans le cas ou un inter ou poussoir est relié directement au tableau c’est du TBT câblé en BT.

Moi ce qui m’intéresse c’est que dans un cas de figure ou en rénovation si il est impossible de repasser du TBT sans tout casser ou si on veut garder le câblage BT en cas de revente cela peut permettre d’avoir de la domotique qui fonctionnes sur l’existant ! :wink:

Après, il y a les normes…qui des fois évoluent en arrière (câblage 1.5 pour les prises avec le nombre de prises augmentées, il y a 10 on étaient pas dans les normes maintenant on l’est !)

Il ne s’agit pas d’inciter mais de dire "Le cat7 est préconisé, dans le cas ou c’est pas possible de passer du cat7, il y a possibilité d’utiliser le câblage 1.5 existant mais dans ce cas il est préférable ou semble préférable de passer par un scénario et une tuile « switch » et pas par le lien direct entrée digitale=>relais qui peut fonctionner MAIS sans que le produit soit mis en cause si ce n’est pas le cas ! ".

Dans la le cas du neuf ou d’une rénovation à faire à destinée domotique, on est d’accord ! Mais dans le cas de revente cela peut-être un frein et donc la réversibilité peut être un choix.

un parasite n’est pas un rebond et ne se traite pas de la même façon :wink:
L’utilisation du moteur de scénario ne pourra jamais supprimer des parasites, contrairement au rebond. Un fil 1.5 non blindé peut ramasser les parasites, l’ipx n’y pourra rien. vous risquez seulement de polluer votre install.
Un rebond (cause mécanique) a une durée de vie limitée et s’arrête au bout d’un certain nombre de ms. Le parasitage (Cause EMI) est continuel, votre boucle informatique sera donc soit inefficace, soit contre-productive.

le cat5e est largement suffisant, pas besoin de dépenser plus

il n’y a pas eu de témoignage en ce sens, pourtant le sujet a été abordé plusieurs fois.
Les témoignages tendent même à montrer le contraire :wink:
Certains membres de la communauté en sont même à leur nième maison domotisée avec produits GCE. S’ils continuent, c’est qu’ils n’ont pas eu de problème à la revente.

1 « J'aime »

Bonjour à tous,

ah le câblage non conforme, vieux serpent de mer qui ressort régulièrement et qui a été évoqué dans ce wiki.

Bonne journée

les IA sont encore trop limitées. Elles répondent seulement aux questions posées, en fonction du wording utilisé. Donc si l’humain pose la mauvaise question ou utilise le mauvais mot, la réponse est inadéquate :wink:
La preuve, elle confond aussi rebond et parasite :rofl:

une illustration:


:zipper_mouth_face:

mais on sort du sujet.

mon neveu a demandé à une IA de commenter son permis de construire.
Réponse : « faites des fondations solides si vous voulez que votre maison dure ».
C’est du bon sens, mais bon… :roll_eyes:

Bonne journée

1 « J'aime »

@fgtoul @grocrabe

J’en conviens mais dans la partie

Je me posais la question si cela pouvait être pertinent d’'ajouter éventuellement par exemple

Astuce 6 : Utilisez un scénario avec une tuile switch plutôt qu’un lien direct entrée digitale-relais .

Ooooh, c’est pas vrai, elle fait parfaitement la distinction, j’ai testé ! :rofl:

Pour rester dans le sujet les deux cas parasites ou rebonds sont 2 causes différentes qui posent des problèmes similaires traitables différemment physiquement (circuit RC ou câblage) et logiquement ensuite dans l’algo qui traite le signal en entrée, et c’est là question que je pose ici 'il ya t-il une voie d’amélioration logicielle possible ?" mais j’ai pas le code source donc je peux que supputer et pas apporter de réponse ! :rofl:

Elle va faire ma journée celle là ! :rofl:
Une IA adepte de La Palisse c’est pas courant !!! "5 mn avant sa mort il était encore vivant "

les entrées digitales de l’ipx et ses extensions sont déjà équipées d’anti-rebonds électroniques. Donc l’utilisation du scénario ou du lien peut effectivement dépendre de la qualité de l’installation.
Si les préconisations sont respectées, liens ou scénarios = même effet.

Dans le cas de @nelson qui est à l’origine du sujet, je penche plutôt vers un problème de programmation.

1 « J'aime »

même conclusion…

Bonne journée

Bonjour à tous,

Version courte : ça marche à présent. Merci pour votre aide.

Solution prise :
J’ai réussi à résoudre le problème en passant par la version scenario et ai retiré tout le reste. La tempo et les plannings sont à présent gérés dans Home Assistant ce qui me séparer la couche métier du reste.


Je ne sais donc pas pourquoi le scenario marche mieux qu’en direct comme avant mais ça fonctionne. :man_shrugging:


Mes recherches
J’ai vérifié mes câblages, les masses et les mises à la terre avec le cat7.


En dehors du fait que je n’arrive pas à souder le blindage et ai du utiliser des Wago, je n’ai pas trouvé de défaut. Problème de température ou autre je ne sais pas, avec les cat5e de ce type, c’était sans souci :

Je n’avais pas de scenarios en place, RAS de ce côté

Mes tempo était en HOLD : OFF + Controle normal : OFF.
Le résultat était satisfaisant (extinction après 5min) mais dans le doute que la configuration du module puisse créer un problème, j’ai retiré la tempo pour les tests afin d’avoir Entrée digitale->Telerupteur->Relai commande. Pas d’amélioration cependant. Merci pour ces compléments d’informations concernant les télérupteurs.


Enfin, il est vrai que je me pose la question du frein que peut générer un tel système pour un acheteur qui n’est pas un minimum geek. Je m’attends un peu lors de la revente à devoir tout démonter et repasser du 1,5mm2 dans chaque gaine…

1 « J'aime »