Si je veux tester logiquement "(A ou B) ET (C ou D)", la règle ne sera pas :
A OU B ET C OU D
rover820i a écrit:Et la question piège :Si je veux tester logiquement "(A ou B) ET (C ou D)", la règle ne sera pas :
A OU B ET C OU D
Que sera alors la règle ?
influman a écrit:rover820i a écrit:Et la question piège :
Si tu dois te retrouver à coder réellement cette formule en une seule règle, il faut à mon sens revoir la logique domotique de ton cerveau chez toi car c'est inmaintenable
Dans les faits, c'est nécessaire, et il vaut de toute façon mieux, passer par des états intermédiaires et donc plusieurs règles.
rover820i a écrit:influman a écrit:rover820i a écrit:Et la question piège :
Si tu dois te retrouver à coder réellement cette formule en une seule règle, il faut à mon sens revoir la logique domotique de ton cerveau chez toi car c'est inmaintenable
Dans les faits, c'est nécessaire, et il vaut de toute façon mieux, passer par des états intermédiaires et donc plusieurs règles.
Si tu savais le bordel que c'est dans mon cerveau
C'était une blagounette
Patskins a écrit:Bonjour,
D'après moi le critère DEVIENT est à utiliser lorsque dans la règle un horaire a été défini (dans ce cas, le DEVIENT MAINTENANT ne peut pas fonctionner), si on reprend le cas des volets:
Je ne veux vérifier que les volets se sont fermés que le soir à 18h00,je mets un critère horaire à "Tous les jours", "18h" et "0 minutes". et Si volets DEVIENT fermé, ALORS ; si à cette heure là les volets sont fermés alors qu'ils étaient ouverts auparavant, le critère devient vrai.
La différence avec EST est que la condition ne boucle pas et pour DEVIENT MAINTENANT est que l'on tient compte d'un horaire pour vérifier un changement d'état. Par contre, je ne vois pas trop la différence avec EST MAINTENANT
D'un autre côté, je me plante peut-être complétement, mais avec cette interprétation, j'arrive à créer des règles qui tiennent la route
influman a écrit:Pour les nouveaux arrivants, voici un point sur les opérateurs logiques à utiliser dans vos règles Eedomus :
EST.... : l'état est-il à cette valeur ?
en gros, si tu testes : volet "EST égal à" ouvert, alors le critère est valable en continue tant que ton volet est ouvert, sans notion de timing. Si tu le mets comme seul critère d'une règle, la règle va boucler tant que le volet est ouvert.
EST MAINTENANT.... : l'état vient-il de prendre cette valeur ?
si tu as une télécommande zwave, la valeur peut être précédemment à "bouton 1" (valeur du dernier appui). Le test "télécommande EST égal à bouton 1" est donc vérifié tant qu'on n'appuie pas sur un autre bouton.
Si tu appuies sur le bouton 1 encore une fois, cela valide le critère EST MAINTENANT égale à "bouton 1". Cela teste la valeur comme un EST, mais avec une notion de timing en plus : la valeur vient juste d'être positionnée. Le critère déclenche donc la règle une seule fois, dès l'appui du bouton.
DEVIENT MAINTENANT.... : l'état vient-il de prendre une nouvelle valeur ?
comme un EST MAINTENANT, mais seulement si la valeur précédente était différente.
Si j'appuie une nouvelle fois sur le bouton 1 de la télécommande, le DEVIENT MAINTENANT n'est pas vérifié, il faudrait appuyer sur le bouton 2 avant, puis le bouton 1.
Quand on teste un périphérique qui ne peut que changer de valeur (interrupteur on/off), on privilégie donc le "DEVIENT MAINTENANT" comme critère de déclenchement.
N'A PAS CHANGE DEPUIS : nécessite de positionner obligatoirement un critère horaire. Par exemple, à 14h, si détecteur EST égal à absent ET détecteur N'A PAS CHANGE depuis 12h, c'est qu'il n'y a personne à la maison depuis ce matin.
DEVIENT : mon avis, ne pas l'utiliser. Le concept m'échappe.
ETAIT : permet de rajouter un critère sur la valeur précédente d'un périphérique.
"Si jour ETAIT férié alors..." doit donner la même chose que "Si jour_précédent EST férié alors.."
Dans une règle donc, on se pose la question de :
- quelle(s) valeur(s) de périphérique doit avoir changée pour déclencher ma règle une seule fois : DEVIENT MAINTENANT
- quelle(s) valeur(s) de périphérique complémentaire doit être déjà positionnée comme pré-requis à mon déclenchement : EST
Exemple :
Si température DEVIENT MAINTENANT < 0°C
ET soleil EST couché
ET volet EST ouvert
ALORS fermer le volet
LES SOURCES
En fin de ligne de critères, le dernier champ indique la "SOURCE" de valorisation de votre critères.
Cela permet de prendre en compte un critère si et seulement s'il vient de la source précisée.
Exemple :
Si Portail DEVIENT MAINTENANT égal à Ouvert, source PORTAIL MOBILE
Alors Message TTS dans la maison : Ouverture Portail
Le message vocal ne sera lu que si l'ouverture du portail a été déclenchée depuis l'application mobile eedomus d'un smartphone. Si l'ouverture est commandée depuis la maison (source = PORTAIL ou autre), il n'y aura donc pas de message. L'usage est clair ici : pas besoin de message vocal si je l'ouvre moi-même depuis la maison , par contre je veux savoir si qqun d'autre arrive quand je suis dans la maison
LES OPERATEURS OU/ET
attention, ils sont testés dans l'ordre de haut en bas, il n'y a pas de priorité de l'un par rapport à l'autre. Pour comprendre par l'erreur :
Si je veux tester logiquement "(A ou B) ET (C ou D)", la règle ne sera pas :
A OU B ET C OU D
cette dernière va être testée séquentiellement de la manière suivante :
A OU B d'abord
(A OU B) ET C ensuite, puis
((A OU B) ET C) OU D
ce qui veut dire là que la règle sera toujours vraie dès que D et vrai, quels que soient les autres critères, ce qui n'est pas du tout le cas dans "(A ou B) ET (C ou D)" souhaité initialement.
la documentation officielle : http://doc.eedomus.com/view/Exemples_Crit%C3%A8res
Reigua a écrit:Bonjour
Je débute dans la programmation et les macros et je ne parviens pas à comprendre pourquoi cette petite programmation ne fonctionne pas comme je le souhaite.
Un détail, une subtilité m'échappe sans doute mais laquelle
Bref, si vous pouviez m'aider, ce serait super
Reigua
enr37 a écrit:@INFLUMAN
voici comment j'utilise par exemple le DEVIENT :
je ferme mes volets par rapport aux lux relevés. La règle est SI lux DEVIENT < 4 ALORS fermer centralisation volets. Ce paramètre est important a comprendre et a ne pas confondre avec EST. Car si je mets EST, le matin, volets fermés, la valeur est a 0 lux et donc si on ouvre les volets, ceux-ci se refermeront 10 cm après avoir commencé à s'ouvrir
mirandole a écrit:Il me semble que les 'devient' sont des déclencheurs par opposition aux 'est' qui demande d'être précédé d'un autre déclencheur de type detection ou bien horaire.
Donc on ne peut pas controller uniquement avec une suite de 'est' sauf en disant par exemple de le déclencher toutes les minutes, ce qui très lourd pour le processeur
Donc j'écris toujours mes scénario en commençant par un déclencheur que je fais suivre d'autres conditions 'est'
Par contre comme dit plus haut 2 déclencheurs ne peuvent se suivre sauf avec un 'ou'.
Attention aussi aux plages horaires, personnellement j'enclenche et déclenche une variable au debut et a la fin de la période.
Juste mon avis qui fonctionne très bien chez moi
Retour vers Règles et programmations
Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 24 invité(s)