Affichage température dans knxweb2 - Version imprimable +- Forum KNX francophone / English KNX forum (https://www.knx-fr.com) +-- Forum : Français (https://www.knx-fr.com/forumdisplay.php?fid=3) +--- Forum : Logiciels libres (linknx, knxweb, pKNyX,...) (https://www.knx-fr.com/forumdisplay.php?fid=10) +--- Sujet : Affichage température dans knxweb2 (/showthread.php?tid=2216) |
Affichage température dans knxweb2 - fma38 - 06/05/2012 Bon, j'essaye d'afficher une température qui est envoyée cycliquement sur le bus par mes boutons poussoir (Eelectron). La valeur est bien écrite (vue avec vbusmonitor), mais je n'arrive pas à l'afficher dans knxweb2. J'ai créé un champ texte, avec comme pattern '$1'. Mais je n'ai rien qui s'affiche. J'ai loupé un truc ? RE: Affichage température dans knxweb2 - fma38 - 06/05/2012 Ok, je viens de piger. Il faut écrire la regex dans le champ 'pattern', en utilisant les groupes, puis récupérer les groupes dans le champ texte... RE: Affichage température dans knxweb2 - fma38 - 06/05/2012 Voici d'ailleurs une petite expression régulière pour changer le . en , et pour ne garder qu'une seule décimale, en rajoutant l'unité : pattern : (\d*)\.{0,1}(\d{0,1})(\d*) texte : $1,$2°C Bon, ça ne fait pas l'arrondi ; pour ça, il faut utiliser un peu de maths ; pas encore regardé comment faire (via formula, je pense)... RE: Affichage température dans knxweb2 - mil3d - 19/10/2015 Super, merci pour le truc ! c'est bien plus agréable comme ça RE: Affichage température dans knxweb2 - kamigaz - 20/10/2015 Si c'est pu PCRE j'aurais écris le pattern comme ça (\d+)\.(\d).* Mais faut voir ce qu'on a en entrée de la REGEX (y a t'il toujours le point et des décimales ? La température peut-elle être négative ?) et tester, j'ai souvent eu des surprises entre le comportement attendu et réel.. bon c'est pas un forum sur les expressions régulières, du coup ->[] RE: Affichage température dans knxweb2 - mil3d - 20/10/2015 La t° ne peut pas être négative en effet.. je l'ai constaté ce matin. Est-ce un problème de patern ou un problème dans linknx, je n'ai pas encore vérifié. (20/10/2015, 09:18:33)kamigaz a écrit : bon c'est pas un forum sur les expressions régulières, du coup ->[]non ne sort pas ! toute solution est toujours utile! Particulièrement pour comprendre les paterns.. pour le moment je n'ai encore rien compris RE: Affichage température dans knxweb2 - kamigaz - 20/10/2015 En PCRE pour gérer la temp négative : (-?\d+)\.(\d).* Les expressions régulières sont super pratiques mais nécessitent de bien s'y plonger pour les comprendre, certains caractères pouvant changer de signification suivant leur utilisation... Ici les parenthèses signifient une capture qu'on retrouvera dans $1, $2 etc -? pour 0 ou 1 signe '-', c'est l'équivalent de {0,1} \d+ pour 1 ou n signe décimal (équivalent de \d{1,} ou [0-9]{1,}) \. pour le ., car le point seul signifie n'importe quel caractère, or on veut explicitement le caractère '.' ici re \d pour la décimale ensuite .* en dehors des parenthèses pour dire que tout le reste ne nous intéresse pas (n'importe quel caractère présent 0 ou n fois). Pas moyen d'arrondir avec de pures expressions régulières par contre. Je n'ai pas de super tuto a donner sur les regex mais c'est vrai qu'une fois qu'on connait c'est très sympa à utiliser. RE: Affichage température dans knxweb2 - mil3d - 20/10/2015 Super, merci... pour les explications aussi! Je vais tester ça. RE: Affichage température dans knxweb2 - mil3d - 20/10/2015 En effet, ça fonctionne aussi en négatif avec cette expression mise dans pattern : (-?\d+)\.(\d).* et ceci dans texte : $1,$2°c Comme ça c'est parfait ! RE: Affichage température dans knxweb2 - kamigaz - 20/10/2015 Cool ! Content de pouvoir renvoyer l'ascenseur de temps en temps RE: Affichage température dans knxweb2 - mil3d - 21/10/2015 ha zut, quand on a une valeur entière, ça ne fonctionne plus. J'ai eu une t° à 20° tout rond, plus rien n'était affiché dans knxweb... Je pense qu'il n'y a pas de solution pour ce cas particulier si je ne me trompe pas. RE: Affichage température dans knxweb2 - fma38 - 21/10/2015 Si, il y a toujours une solution Essaye : (-?\d+)\.?(\d?).* RE: Affichage température dans knxweb2 - mil3d - 22/10/2015 Oui en effet, comme ça je retrouve l'affichage de ma t°, merci. En cas de chiffre rond, j'ai "20, °c", je dois encore chercher comment afficher "20,0 °c", mais je vais trouver (le temps surtout...) RE: Affichage température dans knxweb2 - pollux06 - 20/03/2016 Je déterre ce post car je viens de mettre en place Knxweb2. Pour ma part j'utilise le pattern (.*) qui récupère la température sans mise en forme spécifique. Ensuite au niveau de la variable text je mets $1°C pour un affichage suivi de °C |