Plaidoyer pour l'ajout d'une nouvelle action No On/Off

Bonjour à tous,

L’IPX800 v5 dispose, entre autres, de deux évolutions majeures :

  • La possibilité d’actionner plusieurs types d’actions successives dans une même règle (ON, OFF, ON/OFF, SWITCH, SET VAL)
  • Les liens

Une règle, en v5 comme en v4, est constituée de deux parties : la partie événement et la partie résultat. Un résultat est constitué d’actions(s) appliquée(s) à des « variables »

Sur un IPX800 v4

Il n’est possible de lier qu’un seul type d’action à un événement. Si l’on désire, par exemple, que l’état d’une sortie virtuelle soit l’inverse d’une entrée DIN, il faut inverser la valeur de l’évènement (NO DINx) et pour la partie résultat, utiliser une action ON/OFF associée à la sortie virtuelle.

image

On se fait un peu des nœuds au cerveau :face_with_head_bandage:: pour inverser le résultat il faut inverser l’événement.

Sur un IPX800 v5

Il est possible d’utiliser plusieurs types d’actions dans une même règle et on aimerait pouvoir enchainer des actions de type ON/OFF et des actions de type NO ON/OFF. A titre d’exemple, dans le fil « IPX800v5 et pilotage du chauffe-eau (version raffinée) », @mcc37 souhaite réinitialiser un compteur et le stopper lorsqu’une sortie relais est ON et le réactiver lorsque le relais repasse à OFF

Actuellement, avec l’IPX800 v5, on doit repasser dans une logique v4 et créer 2 règles :

… avec les nœuds au cerveau…

L’utilisation d’une action NO ON/OFF notée dans l’exemple !ON/OFF, permettrait de n’utiliser qu’un seul événement et simplifierait la compréhension et la relecture :

Les liens
Les liens sont des événements simplifiés présentés de façon différentes et associées à une seule source et une seule destination. Cette règle simplifiée est déclenchée à chaque variation de la source. Un lien entre un relais et l’entrées reset d’un compteur :

image

Est équivalent à

Note :

  • Si l’action ON/OFF est activée, le résultat est modifié à chaque changement d’état.
  • Si l’action ON, OFF ou SWITCH est activée, le résultat n’est modifié que lorsque la source passe de OFF à ON.

Un lien entre deux variables analogiques est équivalent à :

L’utilisation de l’action NO ON/OFF dans les liens permettrait une simplification du paramétrage.

Je sais qu’il existe chez GCE une réflexion sur un objet inverseur.
Je relance cette demande alternative qui a déjà été proposée à plusieurs reprises par d’autres contributeurs.

Bonjour Michel94,

Merci de votre contribution c’est une réflexion qui est déjà dans les tuyaux et insister ne fera pas aller le BE plus vite :wink:
Depuis 11 mois que je suis l’évolution de la V5, je peux vous assurer qu’ils sont à l’écoute.

Vous savez comment fonctionne une ToDoList, il y a des priorités, celles du BE jusqu’à la fin du mois est de corriger les soucis.

Bonne journée

Bonjour grocrabe,

J’avais bien noté la réflexion en cours.

Il y a deux solutions qui peuvent être apportées aux demandes des contributeurs :

  • celle proposée spontanément par les contributeurs : un lien inverseur,
  • celle qui semble être envisagée par GCE : un objet inverseur

J’ai également noté que ce n’était pas dans les priorités de la ToDoList et que les développements ne semblaient pas engagés.

Par ce « Plaidoyer », je souhaite faire remarquer que le solution « lien inverseur » ou « NO ON/OFF » peut avoir également une incidence bénéfique sur l’utilisation « multi-actions » des règles.

Actuellement, le fait de devoir appliquer le NON sur l’événement pour avoir une « action inversée » est un mélange des genres qui peut apporter pas mal de confusions. On mélange la notion d’événement avec celle d’action. Il faut définir un NON évènement pour appliquer une action OUI qui devient NON parce que l’on à défini l’inverse dans la rubrique événement. :face_with_head_bandage: :face_with_head_bandage: :face_with_head_bandage:

En infléchissant le développement vers l’action « inverseur », il y, à mon avis, l’opportunité de clarifier la logique des règles.

Bonne journée

Bonjour,
cette solution imposerait la révision des tous les objets existants et à venir :sweat_smile:
De plus, vous oubliez les cas où il faut dissocier les commandes ON et OFF sur un passage à l’état OFF :slight_smile: (action ON lorsque l’état passe OFF, le passage à ON étant ignoré).
Cette solution risque donc au final de provoquer également des « noeuds au cerveau »

Je pense qu’un objet « Inverseur » serait plus simple d’emploi et plus universel :slight_smile:
De plus, ce serait cohérent avec le fonctionnement de la tuile « NON » du Rule Engine.

image
Ceci est une illustration de mes propos. Objet inexistant à ce jour.

bonne journée

Bonjour fgtoul

L’action de type NO ON/OFF n’est pas forcement incompatible avec l’existant. Elle peut être ajoutée tout en conservant la logique actuelle.

Nous aurions, comme actuellement, une prise en compte normale des événements qui serait utilisée dans la plupart des cas et une prise en compte inversée des événements, en utilisant la tuile NON, qui ne serait plus utile que dans le cas des actions ON, OFF et SWITCH sur des fronts descendants.

Par contre, l’utilisation de l’action NO ON/OFF réduirait considérablement le recours à cette tuile NON et nous conserverions une cohérence entre les actions des règles et les liens.

Les actions normales (ON/OFF) et inversées ( NO ON/OFF) pourraient coexister au sein d’une même règle, dans une logique positive, ce qui n’est pas le cas aujourd’hui

J’avais compris que les liens et règles ne modifiaient pas les objets, mais les valeurs des variables liées aux objets, dans notre cas les variables IO. La modification, si nécessaire, ne serait-elle donc pas à apporter uniquement à ce type de variable ?

Il est vrai que, peut-être, la solution de l’objet inverseur est plus facile et plus rapide à mettre en oeuvre et comme la « fonction inverseur » est demandée avec insistance, il faut parer au plus pressé.

Toutefois, je persiste à penser qu’une action inverseur NO ON/OFF apporterait un plus dans la simplification et la cohérence du paramétrage.

Bonne journée

Bonjour,
Je pense que la brique fonction inverseur serait une très bonne solution.
A terme, avoir des briques de fonctions logiques serait un plus pour créer des fonctionnements directement à partir de liens…
Exemple : XOR, ET, OU
Dans la Todo list ?:heart_eyes:
Silkarion

2 « J'aime »

Bonsoir @Silkarion
Le OU vous l’avez déjà avec les liens actuels
Le ET est en demande au même titre que le NON
Le XOR est constructible avec les opérateurs précédents :wink:
Maintenant il faut attendre la réponse du BE :grin:

1 « J'aime »

Bonjour,
Le OU me semble utile quand même pour créer des liens type « (A ou B) et (C ou D) » sans passer par des variables intermédiaires.
Idem le XOR préformaté serait plus simple d’utilisation mais je comprends que ce ne soit pas dans les priorités
Cordialement,