Forum eedomus http://forum.eedomus.fr/ |
|
opérateur dans une règle http://forum.eedomus.fr/viewtopic.php?f=18&t=10329 |
Page 1 sur 1 |
Auteur: | thrymartin [ 27 Déc 2020 09:53 ] |
Sujet du message: | opérateur dans une règle |
Hello, voila ce que je veux, c'est pas pressé, c'est pour cet été évidemment: j'ai remarqué que si en été, la cave pouvait monter à plus de 15°C, la nuit en été, on a souvent moins de 10°C - donc l'idée c'était de ventiler de l'extérieur vers l'intérieur à ce moment la J'ai donc déjà installé cette ventilation à l'envers mais je voudrais que ça se déclenche avec un bon gradient de température et pas simplement parce qu'il fait juste 1/10 de degré en moins dehors par exemple une règle de type : si température extérieure devient inférieure à température cave MOINS 5°C et que température cave est plus grand que 10°C et que pluie des dernières 24h = 0 (pour pas aspirer de l'humidité ou des gouttes de pluie dans le conduit) alors ventile (et l'inverse pour arrêter) Sauf que... MOINS 5°C, on ne peut pas mettre ça dans une règle... Vous sautez la difficulté comment au plus simple ? |
Auteur: | merguez07 [ 27 Déc 2020 18:32 ] |
Sujet du message: | Re: opérateur dans une règle |
Bonsoir, peut être en intégrant le plugin "calculateur mathematique" qui calculerait la différence de température avec une hystéresis et le mettre dans la règle avec un test <0°C |
Auteur: | thrymartin [ 29 Déc 2020 08:39 ] |
Sujet du message: | Re: opérateur dans une règle |
OK, merci, via script donc, Comme je récupère ici la temp. extérieure qui dépend du script de mobile alerts, j'allais me dire que rajouter une ligne dans ledit script pour avoir une entrée XML de plus pour utilisation dans un nouveau capteur serait plus simple, et puis mon tour n'a fait qu'un sang... Je me demandais pourquoi on ne peut pas étalonner dans les capteurs, mais en fait on peut puisque dans le XPath on peut utiliser des opérandes (+-* et div et même mod etc.)... le pire c'est que c'est ce que je répondais dans ce forum quand certains voulaient changer d'unité (genre W-> kW) avec une température //temp_2 ça devient //Temp_2 + 5 (avec un nouveau capteur évidemment). |
Auteur: | opa95 [ 29 Déc 2020 10:20 ] |
Sujet du message: | Re: opérateur dans une règle |
Bonjour thrymartin Tu as tout à fait raison pour le XPATH : il fonctionne très bien; il y a juste une anomalie si on veux tester en utilisant le bouton "tester" après le XPATH, chez moi il oublie de recopier le signe"+" ou "*" mais c'est OK pour le "-" ou le "div" : "100+//uptime" devient "100 //uptime" dans le panneau de test qu'il faut donc corriger pour tester. Bonnes fêtes |
Auteur: | MRAB [ 29 Déc 2020 17:23 ] |
Sujet du message: | Re: opérateur dans une règle |
Bonjour, Pour éviter d'ajouter un capteur uniquement pour le décaler de 5° d'un autre capteur, voila comment je procéderai : Créer un état virtuel appelé "temp cave moins 5" par exemple. Ensuite créer un actionneur Http qui utilise le script math.php et fait l'opération : ?exec=math.php&idperiph=xxxxxxx&operation=soustraction&val1=[LAST_VALUE PERIPH_ID=yyyyyy]&val2=5 ou xxxxx est l'id de ton état virtuel et yyyyy celui de ta temp. cave. Définir une fréquence de requête de 30mn par exemple. Toutes les 30min ton état virtuel sera le reflet de ta température cave moins 5 degrés. Utiliser ensuite ton état virtuel dans les critères de ta règle. |
Auteur: | thrymartin [ 29 Déc 2020 20:12 ] |
Sujet du message: | Re: opérateur dans une règle |
je n'ai pas vu de bug avec l'addition avec le test, c'est d'ailleurs la première chose que j'ai faite sur un capteur dont le XPtah était //temp_2 : un test en faisant //temp_2 + 5 et j'obtiens bien dessous la valeur souhaitée, que ce soit en appelant le script ou après en utilisant le résultat xml peut être que ça a été corrigé ? |
Auteur: | opa95 [ 30 Déc 2020 10:42 ] |
Sujet du message: | Re: opérateur dans une règle |
Chez moi, ce matin ça ne fonctionne toujours pas même en changeant de navigateur. Bizarre, Bizarre... "100+//uptime" devient "100 //uptime" dans le panneau de test. Le principal c'est que la box comprenne bien. |
Auteur: | thrymartin [ 01 Jan 2021 16:55 ] |
Sujet du message: | Re: opérateur dans une règle |
ah bah non, pas 100+//uptime mais //uptime + 100 |
Auteur: | opa95 [ 01 Jan 2021 17:59 ] |
Sujet du message: | Re: opérateur dans une règle |
J'ai tout essayé, avant , après, avec parenthèses, sans, avec espaces, sans ... Une formule de ce genre fonctionne très bien si je la tape directement dans le panneau de test : 1000+//uptime+10000 mais si je l'appelle depuis le panneau du widget, elle se transforme en 1000 //uptime 10000 mais le widget fonctionne très bien (ce qui est le principal) par contre, la formule 100-((//uptime)-1000) se recopie très bien, ainsi que 100*((//uptime)*1000). C'est comme si le système interprète "+100" comme " 100" symbole de signe plutôt que d'opération. C'est plus une question de principe, il suffit que je la corrige dans le panneau ou que je fasse un copier-coller depuis le widget. |
Auteur: | thrymartin [ 01 Jan 2021 20:16 ] |
Sujet du message: | Re: opérateur dans une règle |
Après, même si le système a ses règles de priorité, c'est bien de les imposer avec des parenthèses : https://www.youtube.com/watch?v=tYf3CpbqAVo |
Auteur: | thrymartin [ 04 Jan 2021 11:11 ] |
Sujet du message: | Re: opérateur dans une règle |
Ah j'ai compris, Comme je viens de faire le widget thermomètre + 4°C, effectivement, ça fonctionne mais dans le test, le "+" effectivement disparait dans le cadre "xPath" Sans importance puisque cela ne concerne que la page de test quand on l'appelle et qu'on peut tester en remettant ce fameux "+" j'avais pensé à un problème de codage, mais au lieu de coder il ya plus simple, "plus", c'est "moinsmoins", alors on peut remplacer le signe plus "+" par moinsmoins "--" dans le test ça fonctionne, dans le widget aussi : exemple, remplacer // temp_2 + 4 par //temp_2 -- 4 ou laisser comme ça... |
Auteur: | opa95 [ 04 Jan 2021 11:54 ] |
Sujet du message: | Re: opérateur dans une règle |
Pourquoi pas... , mais de toute façon ça n'affecte que le test et ce n'est pas très important : c'était juste une remarque et on pourrait corriger dans une version future. Bonne année à tous |
Auteur: | thrymartin [ 08 Jan 2021 11:51 ] |
Sujet du message: | Re: opérateur dans une règle |
[transmission du signe "+" de "tester" - un script - dans la page de test] Bart a réglé le problème, et ça roule (si ça marche pas c'est à cause du cache, mais bon, perso, je n'ai pas eu à le vider) Merci Bart |
Auteur: | opa95 [ 08 Jan 2021 12:10 ] |
Sujet du message: | Re: opérateur dans une règle |
Bonjour et merci à Bart et thrymartin. c'est mieux ainsi j'ai du relancer le navigateur qu'il fallait remettre à jour de toute façon. |
Page 1 sur 1 | Le fuseau horaire est UTC+1 heure |
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/ |