Plugin Séquencement d’actions --> Nouveau plugin pour Beta-tests!

Parfait, je peaufine celle là alors !

Je pensais ajouter aussi dans le déclencheur « selon valeur et répétition » la possibilité de faire une condition « plus de (min) » (et pas uniquement sur une fréquence de répétition). Comme ça ma todolist sera (je crois) épuisée !

1 « J'aime »

C’est encore valable, ou c’est un reliquat ?? Si oui, c’est dommage, dans les « autres » cas, les conditions/déclencheurs avec accent fonctionnent parfaitement

J’ai un problème de regex avec les accents dans les noms des conditions, j’ai essayé plusieurs trucs qui marchent sur les sites de tests de regex mais qui marchent pas sur mon jeedom… Et j’ai fini par abandonner ! J’ai déjà réussi à ajouter les espaces et les -…

Je pourrais continuer a creuser pour trouver la bonne syntaxe, mais pour l’instant la doc est correcte : pas d’accents dans les noms des conditions pour les utiliser dans le séquencement ou la condition perso…
(C’est pas du tout le même cas que l’utilisation des accents dans les valeurs des tests pour les conditions…)

edit : voilà mon regex actuel : /@([\w\s-]*)@/, si ca t’amuse je t’en prie ! :joy:

Un peu large, mais bon puisque tu es en Allemagne …

/@([\w\sÀ-ÿ-]*)@/

Mieux car evite le % (247)

@([\w\sÀ-öø-ÿ-]*)@

C’est gentil de penser aux exilés :wink:

Ca marche super bien, mais c’est pas encore assez large pour mon clavier chelou !
Ce qui passe : éâßüÜöç
Par contre des trucs genre ĉ c’est pas validé ! Aller ça ira très bien comme ça ! Merci d’avoir fait le boulot !

Vous n’aurez pas de nouvelle beta ce soir, je suis en train d’essayer de mettre en place la notion de « valide depuis » et c’est pas si simple à intégrer avec tout le reste du bazar…
Mais maintenant que j’ai passé 2h à peaufiner mon interface pour ajouter le champ, il faut aller au bout !

edit :

=> OK, pris en compte. Il évite aussi le # ?

oui le # c’est le 35 donc pas dans la plage des trucs accentués…

Pour le ĉ, il faut passer par l’utf-8 sinon … c’est mort

Allez j’étais lancé

/@([\p{L}\p{M}-_\s]*)@/

:dizzy_face: Décidément, le regex c’est incompréhensible…

Vendu pour celui là ! :+1: Merci !

C’est facile après coup :

  • \p{L} => tous les caractères type lettres de l’unicode
  • \p{M} => tous les caractères type numériques de l’unicode
  • -_\s => tiret, souligné, espace ça c’est classique

http://www.regular-expressions.info/unicode.html#prop

et les #, @ et % sont bien exclus de « \p{L} => tous les caractères type lettres de l’unicode » ?

Moi je prend le \w en général, il me semblait plutôt complet, mais c’est bon a savoir pour le \p{L} !

oui ceux là sont dans dans \p{P}

1 « J'aime »

Tu choppes ceux-là dans le fichier listener_execution?

PHP Notice:  Undefined index: action_label_liee in /var/www/html/plugins/sequencing/core/class/sequencing.class.php on line 660
PHP Notice:  Undefined index: action_label_liee in /var/www/html/plugins/sequencing/core/class/sequencing.class.php on line 737
PHP Notice:  Undefined index: action_label_liee in /var/www/html/plugins/sequencing/core/class/sequencing.class.php on line 738

non, tout vide mon listener_execution !

Alors tu fais des trucs plus propres que moi :stuck_out_tongue_closed_eyes:

Non, ca doit etre que mon truc de log est mal configuré…

PHP Notice:  Undefined index: action_label_liee in /var/www/html/plugins/sequencing/core/class/sequencing.class.php on line 660

=> trop galère à corriger pour pas grand chose, je laisse comme ça (c’est un cache qui utilise plusieurs champs dans son nom pour être sur d’être unique, donc si c’est pas action_label qui est vide ça sera action_label_liee…)

PHP Notice:  Undefined index: action_label_liee in /var/www/html/plugins/sequencing/core/class/sequencing.class.php on line 737

=> idem

PHP Notice:  Undefined index: action_label_liee in /var/www/html/plugins/sequencing/core/class/sequencing.class.php on line 738

=> corrigé (enfin… j’ai viré le log entier…)

Je suis en train de tester la dernière version, c’était bien galère ! Maintenant on peut tester une condition sur la durée et plus de tout le reste.
Genre : Température comprise entre x et y pendant plus de 30 min
(Mais c’est soit sur une durée, soit une répétition de valeur, on peut pas dire "température entre x et y pendant 30 min, 3 fois dans la journée…)

Et il faut évidemment que je refasse (encore…) la doc avec la nouvelle mise en page !

Edit : nouvelle beta en ligne, mes tests sont ok, par contre je ferai la doc demain !
Changelog de cette beta
@Theduck38, tu peux tester les différents types de triggers et conditions et me dire si ca correspond bien au comportement qu’avait PLC ou en tout cas à ce que t’avais en tête quand tu me les as demandés ? Merci !

Hello @naboleo,

J’ai un soucis avec le regex :

Je voudrais matcher cette magnifique expression :

((%humid1%+%Humid2%+%Humid3%+%Humid4%+%Humid5%)>=3)&&%couché soleil%&&%Levé soleil%&&%Moins4hArrosageAujourd’hui%&&!%Pluie aujourd’hui%

Ce regex ne choppe pas grand chose là dedans, est-ce à cause des (, des + ou des majuscules ?

En reprenant ton regex précédent : %([\w\sÀ-öø-ÿ-]*)%, c’est mieux, il n’aime juste pas les ’ dans « Aujourd’hui » :

et sans les ', c’est tout bon :

Tu as une correction pour /@([\p{L}\p{M}-_\s]*)@/ ou sinon je reprend juste l’autre et je dis dans la doc qu’il ne faut pas d’apostrophes ?

Danke !

Je regarde pour adapter la regex avec la chaine qui pose problème. Pour les apostrophe, je suis pas certain qu’on arrive à faire quelque chose, c’est le même caractère que la simple quote …

En même temps c’est logique que ça marche pas il manque les chiffres (confondu N et M pour les caractères accentués)

Donc

/%([\p{L}\p{M}\p{N}-_\s]*)%/

Pour l’apostrophe, il y a ça

%([\p{L}\p{M}\p{N}-_\s’]*)%

Sinon chez moi il y a une différence

Pour moi, aucun de ces 2 là ne veulent de mes accents…

Enfin… sur https://regex101.com/ oui, mais sur Jeedom, non !

[Berlin][Seq Temperature] - Evaluation "perso", condition initiale : ((%humid1%+%Humid2%+%Humid3%+%Humid4%+%Humid5%)>=3)&&%couché soleil%&&%Levé soleil%&&%Moins4hArrosageAujourdhui%&&!%Pluie aujourdhui%
[Berlin][Seq Temperature] - Condition après moulinette regex % : ((1+1+1+1+1)>=3)&&%couché soleil%&&%Levé soleil%&&0&&!0

Alors que lui /%([\w\sÀ-öø-ÿ-]*)%/, ca passe bien :

[Berlin][Seq Temperature] - Evaluation "perso", condition initiale : ((%humid1%+%Humid2%+%Humid3%+%Humid4%+%Humid5%)>=3)&&%couché soleil%&&%Levé soleil%&&%Moins4hArrosageAujourdhui%&&!%Pluie aujourdhui%
[Berlin][Seq Temperature] - Condition après moulinette regex % : ((1+1+1+1+1)>=3)&&1&&1&&0&&!0

C’est peut-être la faute de mon clavier (Allemand…), pour faire des accents il me faut 2 touches : d’abord je choisi l’accent et puis la lettre…

Si celui là /%([\w\sÀ-öø-ÿ-]*)%/ passe bien aussi chez toi pour cette séquence je pense prendre plutôt celui là et interdire les apostrophes (françaises ou allemandes…)

Je ferai un essai après la mise à jour, possible qu’il ya ait aussi une différence entre php7.0 et mon php7.3
Si jeedom n’est pas d’accord, il va falloir faire avec… celle-ci fonctionne ici. ça permettra de mettre tous le monde au même niveau