Fonction eqEnable() suivi d'une autre condition (non interprété)

Bonjour,

Je suis en train de faire un scénario pour couper des appareils en veille à partir d’une certaine heure.
Pour la planification, j’utilise un calendrier
Pour tester que je suis sur un évenement du calendrier j’utilise la commande « En cours » qui me retourne l’élément actuel du calendrier.

Par exemple :
image

Maintenant j’ai 2 calendriers Travail et vacances et seul l’un des deux est actifs.
J’utilise la fonction eqEnable(equipement) pour vérifier s’il est actif ou non

image

Ces conditions fonctionne correctement individuellement.
Maintenant si je veux les 2 conditions réunis, je n’arrive plus a avoir l’élément du calendrier :

Y a t-il une autre façon de faire ou est-ce un bug ? Dans les scénarios, j’ai le même constat dans les logs.

Je viens de faire des tests avec d’autres objets le Thermostat par exemple et j’ai le même problème

eqEnable(#[Salon][Thermostat]#)==1 && #[Salon][Thermostat][Mode]# == "Confort"

Si j’inverse les conditions ça fonctionne c’est un peu étrange
image

image

Merci

Bonsoir,
Avez vous tenté

(eqEnable(#[Salon][Thermostat]#)==1) && (#[Salon][Thermostat][Mode]# == "Confort")

Il devrait réaliser en premier lieu les parenthèses puis le &&

J’avais aussi eu la même idée mais ça ne fonctionne pas non plus.
image

Bonsoir,
Suis-je le seul a rencontrer ce fonctionnement ? Je suis sous jeedom 4.2.11
On dirait que cela provient de la fonction eqEnable
Merci

Désolé depuis que ça m’a bien servi, je les utilise tout le temps maintenant…
IL doit y avoir une autre explication à ton pb :thinking:
pour le moment pas d’autre idée

Et toi, tu n’as pas ce fonctionnement avec la fonction eqEnable puis une autre condition ?

je ne suis même pas sure de l’utiliser il faut que je regarde, car je suis plutôt bloc code dans mes scénarios, il faut que je jette un œil ce week end.
je passe mes equipements en tag ou en array dans une variables.

Je pense que je vais faire un bloc de code pour tester.

Avec du code tu es sure du fonctionnement de la comparaison.

Connais-tu l’instruction code php pour tester si l’objet est actif ou non ?

oui
$id est l’identité de ton equipement
scenarioExpression::eqEnable($id)
ça fonctionne bien

Merci, j’avais pas vu cette section dans l’api. Merci beaucoup ça fonctionne :slight_smile:

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.