Débutant coincé par un matches non fonctionnel sur HTML
Débutant coincé par un matches non fonctionnel sur HTML
Bonjour à tous
Comme le sujet l'indique, je suis encore débutant avec Jeedom, et là, je coince depuis plusieurs jours sur un scénario basé sur le plugin maillistener pour interfacer Jeedom et mon système d'alarme.
A chaque événement, mon système m'envoie un mail que je voudrais interpréter pour déterminer si mon alarme a été allumée ou éteinte et pour quelles zones. Comme je ne peux pas configurer le mail envoyé, je dois me débrouiller avec ce que je reçois, et c'est seulement en HTML. Il n'y a rien dans la zone texte.
L'HTML contient un texte de ce genre :
Votre système d'alarme sur le site «ALaMaison», vous signale : une mise en marche en local par télécommande
ou
Votre système d'alarme sur le site «ALaMaison», vous signale : une mise à l'arrêt en local par télécommande
Si je fais un matches sur "alarme" ou "site", le matches aboutit, mais quand je veux tester marche ou arrêt, ça ne fonctionne plus. Je pense que la faute en revient au « et au », qui sait même au deux points.
J'ai trouvé dans ce forum un peu la même question, et comment faire un str_replace, mais je ne vois pas comment dans la même expression je pourrais en faire 2 sur 2 caractères différents.
J'ai essayé de passer par une variable, mais Jeedom y copie du texte HTML et je me retrouve d'une part avec toutes les informations de mise en forme dans la variable, et d'autre part avec le remplacement des caractères spéciaux par des caractères d'échappement UTF8.
J'ai essayé de modifier la variable avec des str_replace. Mais impossible de trouver avec matches les mots dont j'ai besoin : "marche" et "arrêt", soit écrit ainsi, soit en remplaçant les caractères spéciaux par les caractères d'échappement Il ne les trouve pas, ni avant exécution des str_replace, ni après. Le testeur d'expression trouve le «, trouve aussi le » et le :, mais ni le marche, ni le arrêt.
Même quand il y a ceci dans la variable (extrait du log du scénario) :
blabla... une mise à l'arrêt en local par ... blabla...
Le matches ne trouve pas arrêt (contenu dans une autre variable)
fin du log : ... </html>" matches "arrêt"] = Faux
J'ai essayé de créer une règle de transfert du mail Gmail vers une autre boite Gmail, directement depuis la boite et aussi puis par le plugin email, mais dans les 2 cas, le transfert est aussi uniquement en HTML.
La solution ultime serait de copier la zone HTML dans une zone de texte, mais j'ai essayé dans la commande sans y parvenir. Mes lacunes en Jeedom sont plus que criantes et n'ont d'équivalences que mon impatience à parvenir enfin à un résultat.
Y a-t-il un moyen de copier une variable HTML dans une variable texte en enlevant la mise en forme et en changeant l'encodage ? Je n'ai pas vu de notion de type de variable dans Jeedom...
ou bien
Y a-t-il un moyen de tester avec succès la présence des mots "marche" ou "arrêt" dans la zone HTML ?
ou bien
Y a-t-il un moyen de découper la zone HTML avec un substring de la variable pour garder seulement la partie que le matches saurait interpréter ?
En fait, n'importe quelle solution serait la bienvenue.
Merci infiniment pour toute aide que vous pourrez m'apporter.
Bonne soirée
Comme le sujet l'indique, je suis encore débutant avec Jeedom, et là, je coince depuis plusieurs jours sur un scénario basé sur le plugin maillistener pour interfacer Jeedom et mon système d'alarme.
A chaque événement, mon système m'envoie un mail que je voudrais interpréter pour déterminer si mon alarme a été allumée ou éteinte et pour quelles zones. Comme je ne peux pas configurer le mail envoyé, je dois me débrouiller avec ce que je reçois, et c'est seulement en HTML. Il n'y a rien dans la zone texte.
L'HTML contient un texte de ce genre :
Votre système d'alarme sur le site «ALaMaison», vous signale : une mise en marche en local par télécommande
ou
Votre système d'alarme sur le site «ALaMaison», vous signale : une mise à l'arrêt en local par télécommande
Si je fais un matches sur "alarme" ou "site", le matches aboutit, mais quand je veux tester marche ou arrêt, ça ne fonctionne plus. Je pense que la faute en revient au « et au », qui sait même au deux points.
J'ai trouvé dans ce forum un peu la même question, et comment faire un str_replace, mais je ne vois pas comment dans la même expression je pourrais en faire 2 sur 2 caractères différents.
J'ai essayé de passer par une variable, mais Jeedom y copie du texte HTML et je me retrouve d'une part avec toutes les informations de mise en forme dans la variable, et d'autre part avec le remplacement des caractères spéciaux par des caractères d'échappement UTF8.
J'ai essayé de modifier la variable avec des str_replace. Mais impossible de trouver avec matches les mots dont j'ai besoin : "marche" et "arrêt", soit écrit ainsi, soit en remplaçant les caractères spéciaux par les caractères d'échappement Il ne les trouve pas, ni avant exécution des str_replace, ni après. Le testeur d'expression trouve le «, trouve aussi le » et le :, mais ni le marche, ni le arrêt.
Même quand il y a ceci dans la variable (extrait du log du scénario) :
blabla... une mise à l'arrêt en local par ... blabla...
Le matches ne trouve pas arrêt (contenu dans une autre variable)
fin du log : ... </html>" matches "arrêt"] = Faux
J'ai essayé de créer une règle de transfert du mail Gmail vers une autre boite Gmail, directement depuis la boite et aussi puis par le plugin email, mais dans les 2 cas, le transfert est aussi uniquement en HTML.
La solution ultime serait de copier la zone HTML dans une zone de texte, mais j'ai essayé dans la commande sans y parvenir. Mes lacunes en Jeedom sont plus que criantes et n'ont d'équivalences que mon impatience à parvenir enfin à un résultat.
Y a-t-il un moyen de copier une variable HTML dans une variable texte en enlevant la mise en forme et en changeant l'encodage ? Je n'ai pas vu de notion de type de variable dans Jeedom...
ou bien
Y a-t-il un moyen de tester avec succès la présence des mots "marche" ou "arrêt" dans la zone HTML ?
ou bien
Y a-t-il un moyen de découper la zone HTML avec un substring de la variable pour garder seulement la partie que le matches saurait interpréter ?
En fait, n'importe quelle solution serait la bienvenue.
Merci infiniment pour toute aide que vous pourrez m'apporter.
Bonne soirée
- Antoinekl1
- Actif
- Messages : 3927
- Inscription : 23 mai 2015, 08:14
Re: Débutant coincé par un matches non fonctionnel sur HTML
as tu essayé : #commande# matches "/arr/" pour l'arrêt ?
JEEDOM Smart Ultimate + 40 modules zwave
A vendre ; pack POWER jeedom - Jeedom Mini+ - Console Clazio sous Android 6
A vendre ; pack POWER jeedom - Jeedom Mini+ - Console Clazio sous Android 6
Re: Débutant coincé par un matches non fonctionnel sur HTML
Bonne idée d'Antoine, ça contourne l'accent.
Je voulais tout de même préciser que quand tu fais un matches "qlqch" le qlqch doit etre entre "/" donc matches "/blabla/" et pas matches "blabla"
tu le savais peut-être déjà mais dans ton post tu as écris sans le "/"
Je voulais tout de même préciser que quand tu fais un matches "qlqch" le qlqch doit etre entre "/" donc matches "/blabla/" et pas matches "blabla"
tu le savais peut-être déjà mais dans ton post tu as écris sans le "/"
Peut-être que ton problème vient de là?fin du log : ... </html>" matches "arrêt"] = Faux
Développeur et auteur des plugins suivants, (entre autre Arlo, Solaredge, Design Image, Gotify...) et aidant sur plein d'autres!
Si vous voulez contribuer, un don fait toujours plaisir : https://paypal.me/mips2648
Si vous voulez contribuer, un don fait toujours plaisir : https://paypal.me/mips2648
Re: Débutant coincé par un matches non fonctionnel sur HTML
Bonjour
Merci pour la réponse.
Je n'avais pas testé sur "/arr/" car ça me semble un peu léger comme test, sur une zone html qui pourrait contenir des arr qui ne correspondraient pas à des arrêts (array par exemple ?)
Quand je teste directement sur la commande, ça ne plaît pas au générateur d'expression (j'ai supprimé les lignes d'espacements):
#[Divers][Diag][HTML]# matches "/arr/"
Attention : il doit y avoir un souci, car le résultat est le même que l'expression
Je vais évaluer : "
bandeau-mail-(3)
Votre système d'alarme sur le site «ALaMaison», vous signale : une mise à l'arrêt en local par télécommande.
Ce message vous a été envoyé automatiquement, merci de ne pas y répondre.
" matches "/arr/"
Résultat : "
bandeau-mail- (3)
Votre système d'alarme sur le site «ALaMaison», vous signale : une mise à l'arrêt en local par télécommande.
Ce message vous a été envoyé automatiquement, merci de ne pas y répondre.
" matches "/arr/"
Quand je teste sur la variable, arr semble fonctionner... :
variable(TxtAlarme) matches "/arr/"
" matches "/arr/"
Résultat : 1
A priori pas d'autre arr dans l'html pour l'instant, alors je vais essayer avec ça. Merci encore pour l'idée.
Néanmoins je préférerais pouvoir tester le mot complet, au cas où... Pas moyen de copier une zone html dans une zone de texte brut ?
Ou de faire un substring (ou quel que soit le nom qu'on donne à l'extraction de chaîne sous linux, que je ne connais hélas pas du tout).
Je n'ai trouvé aucune doc de manipulation de chaîne de caractères avec Jeedom...
Merci d'avance
Bonne journée
Merci pour la réponse.
Je n'avais pas testé sur "/arr/" car ça me semble un peu léger comme test, sur une zone html qui pourrait contenir des arr qui ne correspondraient pas à des arrêts (array par exemple ?)
Quand je teste directement sur la commande, ça ne plaît pas au générateur d'expression (j'ai supprimé les lignes d'espacements):
#[Divers][Diag][HTML]# matches "/arr/"
Attention : il doit y avoir un souci, car le résultat est le même que l'expression
Je vais évaluer : "
bandeau-mail-(3)
Votre système d'alarme sur le site «ALaMaison», vous signale : une mise à l'arrêt en local par télécommande.
Ce message vous a été envoyé automatiquement, merci de ne pas y répondre.
" matches "/arr/"
Résultat : "
bandeau-mail- (3)
Votre système d'alarme sur le site «ALaMaison», vous signale : une mise à l'arrêt en local par télécommande.
Ce message vous a été envoyé automatiquement, merci de ne pas y répondre.
" matches "/arr/"
Quand je teste sur la variable, arr semble fonctionner... :
variable(TxtAlarme) matches "/arr/"
" matches "/arr/"
Résultat : 1
A priori pas d'autre arr dans l'html pour l'instant, alors je vais essayer avec ça. Merci encore pour l'idée.
Néanmoins je préférerais pouvoir tester le mot complet, au cas où... Pas moyen de copier une zone html dans une zone de texte brut ?
Ou de faire un substring (ou quel que soit le nom qu'on donne à l'extraction de chaîne sous linux, que je ne connais hélas pas du tout).
Je n'ai trouvé aucune doc de manipulation de chaîne de caractères avec Jeedom...
Merci d'avance
Bonne journée
Re: Débutant coincé par un matches non fonctionnel sur HTML
@MipsJe voulais tout de même préciser que quand tu fais un matches "qlqch" le qlqch doit etre entre "/" donc matches "/blabla/" et pas matches "blabla"
tu le savais peut-être déjà mais dans ton post tu as écris sans le "/"
Merci pour l'idée.
La comparaison était faite sur une autre variable à laquelle j'avais donné comme valeur : arrêt (sans les /)
Quand je saisis arrêt dans une variable, la valeur est remplacée automatiquement par arrêt.
Dans le log sans les slash, j'ai obtenu ce que j'ai écrit initialement (donc arrêt sans slashs).
Si je mets /arrêt/ dans la variable, ça ne fonctionne pas mieux car si j'ai les slash, la valeur renvoyée par le log est "/arrêt"/.
Et le résultat 0.
Merci
D'autres idées?
Re: Débutant coincé par un matches non fonctionnel sur HTML
Je n'ai pas bien compris ce que t'as voulu dire probablement...
les / ne doivent pas être mis dans la variable mais dans la condition du matches
j'ai donc testé de mon côté avec le texte en dur, avec une variable (contenant "arrêts", et avec une commande (j'ai créé un virtuel avec une commande qui renvoit "arrêt" et tout semble fonctionner comme attendu:
- le premier test retourne faux -> normal les / ne sont pas présents
- les autres retourne 1 -> (donc vrai) correct et attendu
les / ne doivent pas être mis dans la variable mais dans la condition du matches
j'ai donc testé de mon côté avec le texte en dur, avec une variable (contenant "arrêts", et avec une commande (j'ai créé un virtuel avec une commande qui renvoit "arrêt" et tout semble fonctionner comme attendu:
- le premier test retourne faux -> normal les / ne sont pas présents
- les autres retourne 1 -> (donc vrai) correct et attendu
Développeur et auteur des plugins suivants, (entre autre Arlo, Solaredge, Design Image, Gotify...) et aidant sur plein d'autres!
Si vous voulez contribuer, un don fait toujours plaisir : https://paypal.me/mips2648
Si vous voulez contribuer, un don fait toujours plaisir : https://paypal.me/mips2648
Re: Débutant coincé par un matches non fonctionnel sur HTML
Hello
Merci pour les tests.
Je n'avais pas de souci non plus tant que je pouvais récupérer un mail en mode texte brut, pendant que je faisais des tests.
Lorsque je m'envoyais manuellement un mail contenant le texte attendu, je l'avais en texte et le matches aboutissait à tous coups.
Le problème est survenu dès lors que j'ai été obligé de récupérer le mail en HTML.
Dès lors - comme je l'ai écrit - la variable contient des balises html, toute la mise en forme du texte et de l'image, et les caractères spéciaux échappés en UTF8.
As tu pu faire ton test en chargeant de l'HTML dans ta variable ?
Merci.
Merci pour les tests.
Je n'avais pas de souci non plus tant que je pouvais récupérer un mail en mode texte brut, pendant que je faisais des tests.
Lorsque je m'envoyais manuellement un mail contenant le texte attendu, je l'avais en texte et le matches aboutissait à tous coups.
Le problème est survenu dès lors que j'ai été obligé de récupérer le mail en HTML.
Dès lors - comme je l'ai écrit - la variable contient des balises html, toute la mise en forme du texte et de l'image, et les caractères spéciaux échappés en UTF8.
As tu pu faire ton test en chargeant de l'HTML dans ta variable ?
Merci.
Re: Débutant coincé par un matches non fonctionnel sur HTML
Hello
Ce que l’on essaye de te dire c’est de tester avec les /
Blabla html matches ‘’/arrêt/’´
Ce que l’on essaye de te dire c’est de tester avec les /
Blabla html matches ‘’/arrêt/’´
Gestion d'ouverture / fermeture Portail et garage
Gestion filtration piscine
Divers éclairages
Et tout plein d'autres choses ...
JEEDOM NUC 3.3.33 ULTIMATE
Mon matériel ici
Gestion filtration piscine
Divers éclairages
Et tout plein d'autres choses ...
JEEDOM NUC 3.3.33 ULTIMATE
Mon matériel ici
Re: Débutant coincé par un matches non fonctionnel sur HTML
Hello
Bien sûr que j'ai mis les /.../
Ca fonctionne avec "/arr/" parce que j'ai mis les slashs...
J'ai plusieurs autres conditions matches et aussi not(...matches...) par ailleurs qui fonctionnent également sur des zones texte.
Mais si je mets "/arrêt/" à la place de "/arr/", ça ne fonctionne plus.
Quand je suis sur du texte au lieu d'HTML, ça fonctionne avec "/arrêt/" et "/arr/"...
Merci
Bien sûr que j'ai mis les /.../
Ca fonctionne avec "/arr/" parce que j'ai mis les slashs...
J'ai plusieurs autres conditions matches et aussi not(...matches...) par ailleurs qui fonctionnent également sur des zones texte.
Mais si je mets "/arrêt/" à la place de "/arr/", ça ne fonctionne plus.
Quand je suis sur du texte au lieu d'HTML, ça fonctionne avec "/arrêt/" et "/arr/"...
Merci
Re: Débutant coincé par un matches non fonctionnel sur HTML
ah ok, je vais tester ca et voir ce que je peux trouver de mon coté.
ps: pour info et pour être précis,
Code : Tout sélectionner
ê
Développeur et auteur des plugins suivants, (entre autre Arlo, Solaredge, Design Image, Gotify...) et aidant sur plein d'autres!
Si vous voulez contribuer, un don fait toujours plaisir : https://paypal.me/mips2648
Si vous voulez contribuer, un don fait toujours plaisir : https://paypal.me/mips2648
- Antoinekl1
- Actif
- Messages : 3927
- Inscription : 23 mai 2015, 08:14
Re: Débutant coincé par un matches non fonctionnel sur HTML
Il faudrait passer par un bloc code, il y aurait plus de fonctions possible
Voir peut être en passant la commande en majuscule afin de faire disparaitre les accents
Voir peut être en passant la commande en majuscule afin de faire disparaitre les accents
JEEDOM Smart Ultimate + 40 modules zwave
A vendre ; pack POWER jeedom - Jeedom Mini+ - Console Clazio sous Android 6
A vendre ; pack POWER jeedom - Jeedom Mini+ - Console Clazio sous Android 6
Re: Débutant coincé par un matches non fonctionnel sur HTML
Ce que j'ai déjà fait et qui fonctionne par contre : si tu sauves le scénario avec "ê"
pour preuve à l'éxécution (le premier test est avec la commande "texte", le 2eme avec la commande "html" et les 2 sont vrais:
mais dès que tu vas re-sauver le scénario, le caractères "ê" sera de nouveau sauvé et le test ne fonctionnera plus (sauf si avant de sauver tu rechange "ê" en "ê"
un bloc code pour, soit encoder la chaine de test soit décoder la chaine de la commande sera une solution. Je me demande juste s'il n'y en a pas une autre plus simple.
je regarde demain, plus le courage ce soir.
après la sauvegarde "arrêts" apparait (sans l'encodage), logique c'est le browser qui le transforme mais le scénario est bien sauvépour preuve à l'éxécution (le premier test est avec la commande "texte", le 2eme avec la commande "html" et les 2 sont vrais:
Code : Tout sélectionner
[2019-02-28 19:33:09][SCENARIO] Exécution du sous-élément de type [condition] : if
[2019-02-28 19:33:09][SCENARIO] Evaluation de la condition : ["arrêts" matches "/arrêts/"] = 1
[2019-02-28 19:33:09][SCENARIO] Exécution du sous-élément de type [action] : then
[2019-02-28 19:33:09][SCENARIO] Exécution du sous-élément de type [condition] : if
[2019-02-28 19:33:09][SCENARIO] Evaluation de la condition : ["arrêts" matches "/arrêts/"] = 1
[2019-02-28 19:33:09][SCENARIO] Exécution du sous-élément de type [action] : then
[2019-02-28 19:33:09][SCENARIO] Fin correcte du scénario
un bloc code pour, soit encoder la chaine de test soit décoder la chaine de la commande sera une solution. Je me demande juste s'il n'y en a pas une autre plus simple.
je regarde demain, plus le courage ce soir.
Développeur et auteur des plugins suivants, (entre autre Arlo, Solaredge, Design Image, Gotify...) et aidant sur plein d'autres!
Si vous voulez contribuer, un don fait toujours plaisir : https://paypal.me/mips2648
Si vous voulez contribuer, un don fait toujours plaisir : https://paypal.me/mips2648
Re: Débutant coincé par un matches non fonctionnel sur HTML
En fait, en envoyant mon dernier message j'ai eu une idée qui fonctionne, sans bloc code... ca m'est venu avec la façon dont je reproduisait le problème chez moi:
tu créés un virtuel avec une commande info qui doit contenir le mot (avec encodage html) que tu veux tester entouré des "/":
et tu utilises cette commande dans ton test (2eme test ci-dessous) Bien entendu tu doit remplacer "#[Aucun][testmatches][html]#" dans mon exemple par ta commande de maillistener (#[Divers][Diag][HTML]# ?)
la commande "conditionhtml" étant celle du virtuel que tu auras créés
log de l'éxécution:
tu créés un virtuel avec une commande info qui doit contenir le mot (avec encodage html) que tu veux tester entouré des "/":
et tu utilises cette commande dans ton test (2eme test ci-dessous) Bien entendu tu doit remplacer "#[Aucun][testmatches][html]#" dans mon exemple par ta commande de maillistener (#[Divers][Diag][HTML]# ?)
la commande "conditionhtml" étant celle du virtuel que tu auras créés
log de l'éxécution:
Code : Tout sélectionner
[2019-02-28 21:18:01][SCENARIO] Exécution du sous-élément de type [condition] : if
[2019-02-28 21:18:01][SCENARIO] Evaluation de la condition : ["un texte contenant le mot arrêts alarme" matches "/arrêts/"] = 0
[2019-02-28 21:18:01][SCENARIO] Exécution du sous-élément de type [action] : else
[2019-02-28 21:18:01][SCENARIO] Exécution du sous-élément de type [condition] : if
[2019-02-28 21:18:01][SCENARIO] Evaluation de la condition : ["un texte contenant le mot arrêts alarme" matches "/arrêts/"] = 1
[2019-02-28 21:18:01][SCENARIO] Exécution du sous-élément de type [action] : then
[2019-02-28 21:18:01][SCENARIO] Fin correcte du scénario
Développeur et auteur des plugins suivants, (entre autre Arlo, Solaredge, Design Image, Gotify...) et aidant sur plein d'autres!
Si vous voulez contribuer, un don fait toujours plaisir : https://paypal.me/mips2648
Si vous voulez contribuer, un don fait toujours plaisir : https://paypal.me/mips2648
Re: Débutant coincé par un matches non fonctionnel sur HTML
Hello
Merci pour ces idées.
Je vais essayer demain, comme écrit au départ, je suis débutant avec Jeedom, et pas encore familier avec les virtuels - et encore moins avec les blocs code (je ne sais même pas quel langage utilise Jeedom). Alors ça n'est pas la nuit que je vais y arriver...
Merci encore.
Merci pour ces idées.
Je vais essayer demain, comme écrit au départ, je suis débutant avec Jeedom, et pas encore familier avec les virtuels - et encore moins avec les blocs code (je ne sais même pas quel langage utilise Jeedom). Alors ça n'est pas la nuit que je vais y arriver...
Merci encore.
Débutant coincé par un matches non fonctionnel sur HTML
Code : Tout sélectionner
str_replace("&"."ecirc;","ê",#commandeInfo#) matches "/arrêt/"
& et ecirc; étant ton code pour ê url_encodé (je ne sais pas le tapper dans le forum sur mobile sans qu'il soit remplacé) séparé dans deux chaînes concatenees
Envoyé de mon iPhone en utilisant Tapatalk
Dev plugin Homebridge
- Fournissez les logs, la capture de vos commandes et vos types génériques svp
- Constructif et bonne humeur, on est pas là pour se lancer des périfs z-wave à la figure :-)
Un petit don ça fait toujours plaisir :)
- Fournissez les logs, la capture de vos commandes et vos types génériques svp
- Constructif et bonne humeur, on est pas là pour se lancer des périfs z-wave à la figure :-)
Un petit don ça fait toujours plaisir :)
Re: Débutant coincé par un matches non fonctionnel sur HTML
Hello Nebz, Mips (et bonjour tout le monde)
@Nebz
J'ai essayé ce que tu suggères :
dans le sécnario sur le si :
str_replace("&"."ecirc;","ê",#[Divers][Diag][HTML]#) matches "/arrêt/"
Pas de résultat. Dans le log :
mise à l'arrêt en local par télécommande
... blabla...
... matches "/arrêt/"
Pas de correspondance.
Le remplacement ne s'est pas effectué.
J'ai essayé de remplacer le . de concaténation par &, ou par + ou par rien, mais même chose.
@Mips
Ca ne fonctionne pas non plus, mais peut être ou sans doute parce que je n'ai pas fini de configurer le virtuel...
J'ai créé une commande, Nom : HTMTest, sous type : info, valeur : /arrˆt/, avec autre dans la case en dessous de info.
Rien fait d'autre dans le virtuel. Si je le teste la commande donne 0.
De fait, quand je mets dans le scénario :
#[Divers][Diag][HTML]#) matches #[Divers][VarAlarme][HTMLTest]#
Le log me fait un matches avec 0, et bien sûr ne trouve pas de correspondance.
Je pense qu'il faut faire quelque chose en plus dans le virtuel, quelque chose qui doit être évident... pour un non débutant !
J'ai oublié quoi ??
Merci d'avance
Bonne journée
@Nebz
J'ai essayé ce que tu suggères :
dans le sécnario sur le si :
str_replace("&"."ecirc;","ê",#[Divers][Diag][HTML]#) matches "/arrêt/"
Pas de résultat. Dans le log :
mise à l'arrêt en local par télécommande
... blabla...
... matches "/arrêt/"
Pas de correspondance.
Le remplacement ne s'est pas effectué.
J'ai essayé de remplacer le . de concaténation par &, ou par + ou par rien, mais même chose.
@Mips
Ca ne fonctionne pas non plus, mais peut être ou sans doute parce que je n'ai pas fini de configurer le virtuel...
J'ai créé une commande, Nom : HTMTest, sous type : info, valeur : /arrˆt/, avec autre dans la case en dessous de info.
Rien fait d'autre dans le virtuel. Si je le teste la commande donne 0.
De fait, quand je mets dans le scénario :
#[Divers][Diag][HTML]#) matches #[Divers][VarAlarme][HTMLTest]#
Le log me fait un matches avec 0, et bien sûr ne trouve pas de correspondance.
Je pense qu'il faut faire quelque chose en plus dans le virtuel, quelque chose qui doit être évident... pour un non débutant !
J'ai oublié quoi ??
Merci d'avance
Bonne journée
Re: Débutant coincé par un matches non fonctionnel sur HTML
@Mips
dans mon message précédent, j'ai écrit arrˆ, mais c'est bien arrê que j'ai mis dans le virtuel... Erreur de recopie.
Merci
dans mon message précédent, j'ai écrit arrˆ, mais c'est bien arrê que j'ai mis dans le virtuel... Erreur de recopie.
Merci
Re: Débutant coincé par un matches non fonctionnel sur HTML
Sinon mon code dans un bloc code
Envoyé de mon iPhone en utilisant Tapatalk
Envoyé de mon iPhone en utilisant Tapatalk
Dev plugin Homebridge
- Fournissez les logs, la capture de vos commandes et vos types génériques svp
- Constructif et bonne humeur, on est pas là pour se lancer des périfs z-wave à la figure :-)
Un petit don ça fait toujours plaisir :)
- Fournissez les logs, la capture de vos commandes et vos types génériques svp
- Constructif et bonne humeur, on est pas là pour se lancer des périfs z-wave à la figure :-)
Un petit don ça fait toujours plaisir :)
Re: Débutant coincé par un matches non fonctionnel sur HTML
tu peux faire une capture de ton virtuel et de ton scénario pour être sur qu'on suive bien où tu en es?
Développeur et auteur des plugins suivants, (entre autre Arlo, Solaredge, Design Image, Gotify...) et aidant sur plein d'autres!
Si vous voulez contribuer, un don fait toujours plaisir : https://paypal.me/mips2648
Si vous voulez contribuer, un don fait toujours plaisir : https://paypal.me/mips2648
Re: Débutant coincé par un matches non fonctionnel sur HTML
Sinon la solution que Nebz propose est celle que je voulais t'éviter mais en fait à toi de choisir ce que tu préfères (et c'est peut-être plus simple), tu fais un bloc code:
tu remplaces #[Aucun][testmatches][html]# par ta commande maillistener;
et après tu peux tester la variable, résultat:
le code est celui-ci (la fonction html_entity_decode va remplacer tous les encodages html, pas seulement le "ê":
Code : Tout sélectionner
$cmd = cmd::byString("#[Aucun][testmatches][html]#");
$valueHTML = $cmd->execCmd();
$valueText = html_entity_decode($valueHTML);
$scenario->setData("textBrut", $valueText);
et après tu peux tester la variable, résultat:
Code : Tout sélectionner
[2019-03-01 13:36:08][SCENARIO] Exécution du sous-élément de type [action] : code
[2019-03-01 13:36:08][SCENARIO] Exécution d'un bloc code
[2019-03-01 13:36:08][SCENARIO] Exécution du sous-élément de type [condition] : if
[2019-03-01 13:36:08][SCENARIO] Evaluation de la condition : ["un texte contenant le mot arrêt alarme" matches "/arrêt/"] = 1
[2019-03-01 13:36:08][SCENARIO] Exécution du sous-élément de type [action] : then
Développeur et auteur des plugins suivants, (entre autre Arlo, Solaredge, Design Image, Gotify...) et aidant sur plein d'autres!
Si vous voulez contribuer, un don fait toujours plaisir : https://paypal.me/mips2648
Si vous voulez contribuer, un don fait toujours plaisir : https://paypal.me/mips2648
Qui est en ligne ?
Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité