Etat des relais au demarrage avec scene de va et vient

Bonjour,

Je rencontre un petit soucis sur mes ipx800, ils sont tous programmer suivant ce type de scène (http://gce-electronics.com/wiki/index.php?title=Câblage_V4_en_va-et-vient) donc avec 4 scènes par va et vient (ou 2 si c’est un interrupteur simple en bistable), mon soucis et que lors d’une coupure de courant les relais à 0 passe à 1 et ceux à 1 à 0 quand l’ipx800 redémarre, j’ai coché la mémorisation des états des relais mais ça ne change rien…

Avez vous une idée ?

Merci d’avance pour vos retours.

Bonsoir,

Si vous avez appliqué ces 4 règles :

SI inter_1 OU inter_2 ALORS SWITCH Relais
SI inter_1 OU NON inter_2 ALORS SWITCH Relais
SI NON inter_1 OU inter_2 ALORS SWITCH Relais
SI NON inter_1 OU NON inter_2 ALORS SWITCH Relais

le problème vient du fait qu’une et une seule condition est systématiquement vraie au démarrage. Personnellement je testerai ceci :

SI inter_1 ALORS SWITCH Relais
SI NON inter_1 ALORS SWITCH Relais
SI inter_2 ALORS SWITCH Relais
SI NON inter_2 ALORS SWITCH Relais

où tout changement d’état d’un interrupteur change l’état du relai et, si l’état des relais est mémorisé, il reste inchangé après coupure de courant car 2 sur 4 conditions sont systématiquement vraies.

Bons tests,

2 « J'aime »

Bonjour

Effectivement cela pourrait marcher pour les va-et-vient mais pas pour les interrupteurs simple qui sont en :

  • SI inter_1 ALORS SWITCH Relais
  • SI NON inter_1 ALORS SWITCH Relais

Bonjour,

Pour l’interrupteur simple, la règle

Si inter (DI) alors OnOff Relais

permet de s’assurer que l’inter et le relai sont synchrones dans tous les cas de figure.

Non ? :slight_smile:

En théorie oui mais en pratique ça pose soucis si je change l’état la lumière par l’interface ou l’api :

  • j’allume la lumière avec l’inter => I = 1 et R = 1
  • je coupe la lumière par l’api => I = 1 et R = 0
  • je veux rallumer avec l’inter, 1er appui => I = 0 et R = 0
  • il faut refaire une bascule pour que ça marche => I = 1 et R = 1

Exact, je me suis fait avoir comme un bleu :slight_smile:

Je vois pas de solution. Espérons que la dream team du forum en ait une, sinon il faudra interroger le staff de GCE.

Moi j’ai fini par faire un scénario par luminaire pour remettre en adéquation l’état de l’interrupteur et son luminaire. Et un scénario qui appelle tous ceux de ce type. C’est hyper fastidieux. Et surtout avec un X-8R, il faut recabler les entrées sur une V4 ou X-8D ou X-24D

Du coup après une coupure, je peux tout remettre à plat facilement depuis l’interface web. Par contre si je ne suis pas le premier et que les interrs ont été utilisés, il se peut que ça rallume des pièces qu’il faudra éteindre ensuite (j’ai un dashbord poyur ça).

D’ailleurs en regardant de plus près, j’ai aussi des scénarios du même genre pour « réinitialiser » mes V3 depuis la V4.

2 « J'aime »

Bonjour,

Effectivement ca peut marcher mais je trouve pas ca très « smart », le but c’est qu’on intervienne jamais quand on monte ce genre de systeme, la par rapport a un systeme non « intelligent » on a quand même une régression je trouve.

Bonjour,

Vu le petit nombre de réponses, je pense qu’il faut faire appel à @Maxime_gce :slight_smile:

Maxime, ce post au départ anodin soulève des questions pour pouvoir y répondre :

  • si un élément est mémorisé (relais, entrées/sorties virtuelles, … ) est-il bien réinitialisé avant l’évaluation des règles ?
  • au démarrage de l’IPX on suppose que toutes les règles sont évaluées et leur action déclenchée le cas échéant. Est-ce exact ?
  • existe-t-il un élément qui permet de savoir au sein d’une condition que c’est la première évaluation depuis le démarrage ?

Merci,

2 « J'aime »

Bonjour,

Alors ;

  • les éléments mémorisés sont remis avant évaluations des règles
  • au redémarrage toutes les scènes vont en effet être considéré à l’état OFF. Si certaines ont un événement à ON cela entraînera l’action ON quasi instantanément.
  • et non je ne pense pas.

Pour revenir au problème de base, je comprends tout à fait la problématique malheureusement sur une scène en switch on ne peut pas faire grand chose.

La seule solution serait de ne pas tenir compte du premier tour lorsqu’on est en switch ce qui les initialiserait en quelque sorte mais j’ai peur que cela provoque des effets de bords conséquent pour d’autres applications/utilisateurs…

Si vous avez des idées ? J’imagine qu’un bloc du style « Ne pas faire d’action sur premier check » est dans les petits papiers de @Teebex :wink: ? Pourquoi pas, à étudier mais l’ajout d’un bloc est relativement fastidieux et la logique de ce dernier serait assez ambigu…

Perso je pense à un espèce de mode mémoire sur les scénarios mais en l’occurrence il faudrait le rendre personnalisable pour chaque scène ?

Il y aurait également une gestion mémoire à étudier et un petit temps de développement pour le réaliser donc n’hésitez pas si vous avez des suggestions ?

5 « J'aime »

Bonjour,

Merci pour le retour, je pense que le mieux serait un bouton ne pas évaluer la scène au démarrage ou si c’est pas possible une solution pour faire une scène qui s’exécute en dernier au démarrage (dans le cas ici je pourrais tout repasser à off suite au démarrage avec ce genre de scène), en plus cela pourrait servir dans d’autre cas en permettant d’avoir un (re)démarrage plus déterministe.

Bonjour,
Je pense effectivement que la notion de « premier check » doit être gérée par l’IPX ( variable volatile)
L’implémentation d’une case à cocher sur chaque scénario ferait le reste.

Personnellement j’ai rencontré le même type de problème.
J’ai donc décidé de ne pas activer la mémorisation sur les entrées virtuelles.
J’ai ajouté un bloc sur chaque scénario ne devant pas être évalué si EV1 OFF (ou l’inverse pour des scripts d’initialisation E/S)

EV1 est activée par push en dernier scénario. D’ailleurs, ce serait bien si les EV étaient également accessibles en résultat de scénario. :slight_smile:

Oui c’est fastidieux de rajouter un bloc à chaque scénario (car il faut casser et refaire).
Par contre si l’import/export des scénarii était implémenté alors ça deviendrait facile :wink:
cdt

Bonsoir,

L’idée de pouvoir dire par exception au niveau de la règle qu’elle serait initialisée à l’état ON au lieu de OFF règlerait probablement le problème de manière élégante, sans trop de risque de créer des effets de bord, et sans charge additionnelle pour l’IPX dans son fonctionnement général. Je n’ai cependant pas étudié tous les cas.

Dans le cas présent, un contournement possible consisterait à

  1. Sauvegarder l’état des relais
  2. Ne pas sauvegarder l’état des sorties virtuelles et réserver une variable à la détection de la phase de démarrage (VOx). Elle sera fausse lors de la première évaluation des règles.
  3. Ajouter cette VO dans la règle pour l’interrupteur unique : Si VOx et inter (DI) alors switch Relais
  4. Ajouter en dernière position des règles Si NON VOx On VOx

Je n’ai pas testé, mais cela pourrait marcher.

Partant pour un test @zoic21 ?

P.S. Merci Maxime

Bonjour,

Je peux essayer mais avant une question lors du passage de VOx à On l’ipx ne va t-il pas réévaluer toute les règles « Si VOx et inter (DI) alors switch Relais » et donc refaire la même chose que lors d’un redémarrage en me rallumant les lumières ?

Bonjour,

Bien sûr que si. Mon contournement est ridicule. A force de ne plus pratiquer on perd la main.

Désolé, je sais pas faire

Mais ca ma donné une idée :

  • un scénario en position 254 qui si la VO1 est à 0 éteint met à off tous les relais
  • un scénario en position 255 qui si la VO1 est à 0 la passe à 1

Faut je test ce soir mais si l’ipx lors du redémarrage analyse toute les scènes dans l’ordre normalement il va :

  • passer toute les commandes des inters et allumer ou pas les lumières
  • arriver sur la scène 254 et va éteindre toute les lumières
  • arriver sur la 255 et mettre VO1 à 1