Mise à jour des commandes étrange

Bonjour à tous

il me semble avoir déjà remonté ce problème, même au support jeedom, mais je le constate de nouveau et je ne comprends pas ce comportement

j’ai une commande info ETAT_CONSOLE qui additionne plusieurs commandes binaires.

quand je test la commande, elle me répond = 1

quand je tests le contenu dans la commande dans EXPRESSION

tout le monde est à 0

Il faut que je sauvegarde le virtuel pour que cela se remette à jour et affiche bien la bonne valeur : 0

J’ai fait mal quelques choses ou il y a un bug ?

Salut,
tes commandes binaires que tu « additionnes », c’est des virtuels?
Si oui alors c’est normal, de mémoire le core n’envoie pas les event d’un virtuel à un autre pour éviter de tomber dans une boucle.
Configures un cron de refresh auto.

1 « J'aime »

Je pense que le mélange de types binaire et numérique doit conduire à un résultat ou une erreur.
Les opérations sur les binaires ne comprennent pas les fonctions arithmétiques mais uniquement les fonctions logiques.

Bonjour

Elles proviennent du même virtuel, elles sont juste en dessous sur la 1er copie écran

Bonjour

Après la sauvegarde, il fait bien l’addition des 0 ou des 1 des commandes binaires, c’est donc que cela fonctionne mais c’est mise à jour de ces valeurs qui déconne parfois

Déjà observé aussi ce comportement, il fallait que je clique manuellement sur Refreshpour que le calcul se fasse.

En fait, il faut éviter de faire ce genre de calculs dans un même virtuel. Il faudrait mettre ta commande ETAT_CONSOLE dans un second virtuel.

J’avais remarqué que ça dépendait de l’ordre des ID des commandes dans le virtuel. En fonction de l’ordre d’exécution des commandes, le résultat des calcul est différent.

L’alternative serait de recréer une nouvelle commande ETAT_CONSOLE plus récente (donc avec un ID plus grand) afin qu’elle se mette à jour après les autres commandes ETAT_VEILLE ETAT_VEILLEMAJ ETAT_PRISEON ETAT_ALLUME

merci pour ta réponse, je vais tester ca

mais bon il y a peut-être un petit bug dans la gestion des refresh :slight_smile:

Non, je ne pense pas. Il faut imaginer que les commandes d’un Virtuel soient exécutées en parallèle même si ce n’est pas réellement le cas. Si certaines commandes dépendent du résultat d’autres commandes qui n’ont pas encore été exécutées, c’est le bazar.

oui mais c’est au code de voir ca et de faire les maj dans le bon sens

Non, pas possible, c’est pour éviter les boucles, comme l’a dit @Mips

le code peut aussi éviter qu’une boucle soit possible
Faudrait être tordu pour faire 2 commandes qui s’appellent réciproquement :slight_smile:

Dans ce cas, le mieux est que tu proposes le changement dans le code pour faire cela convenablement.

Chacun son métier mais ça n’interdit pas de donner des conseils, je bosse dans l’informatique et le principe c’est bien a l’applicatif de s’adapter au métier et pas l’inverse

« Demande moi de quoi tu as besoin, je t’expliquerai comment t’en passer. »

1 « J'aime »

Oui, ca c’est le rôle des services supports :wink:

1 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.