Souci avec é (spé PHP?)

bonjour.

je voulais savoir s’il existait une solution à ce problème que voici:

je récupère les informations du calendrier ical airbnb via le plugin import2ical.

Airbnb indique « Réservé » sur les jours où il y a une location:

si je clique sur le mot Réservé, on s’aperçoit qu’en réalité c’est écrit avec le code html pour l’accent aigü:

donc avec ce bloc code Récuperer date début et fin d'un événement - #5 par naboleo

Comme mot recherché, j’indique « Réservé » et une variable « Réservé_start » devrait se créer.
mais cela ne va évidemment pas.
donc j’indique le code html, je sauvegarde, et cela fonctionne:
image
il me créé bien les 2 variables nécessaires:
image

toutefois, cela ne fonctionnera pas une seconde fois car jeedom transforme les accents html en accents normaux lors de la sauvegarde:
image
donc le code ne va pas plus trouvé Réservé puisqu’il cherche « Réservé » …

bref, est-ce qu’il y a un moyen de faire que jeedom ne transforme plus le code ainsi, ou que le code lui-même soit forcé de chercher Réservé ?

merci pour vos avis.

EDIT:
on voit bien le souci dans les logs du scénario bloc code:

  1. je cherche une premiere fois juste après la sauvegarde du code,
  2. puis je refais une sauvegarde du scénario, et je relance la recherche, ca ne trouve plus rien.
  3. je remets manuellement que je cherche Réservé et ca trouve…
[2024-12-15 09:03:51][SCENARIO] -- Début : . Tags : {"#trigger#":"user","#trigger_name#":"","#trigger_id#":"","#trigger_message#":"Scénario lancé manuellement","#trigger_value#":"admin"}
[2024-12-15 09:03:51][SCENARIO] - Exécution du sous-élément de type [action] : action
[2024-12-15 09:03:51][SCENARIO] Exécution d'un bloc élément : 1340
[2024-12-15 09:03:51][SCENARIO] Exécution d'un bloc élément : 1338
[2024-12-15 09:03:51][SCENARIO] - Exécution du sous-élément de type [action] : code
[2024-12-15 09:03:51][SCENARIO] Exécution d'un bloc code
[2024-12-15 09:03:51][SCENARIO] id :415
[2024-12-15 09:03:51][SCENARIO] Check ID=12 : Réservé
[2024-12-15 09:03:51][SCENARIO] Next : Réservé 2024-12-30 00:00:00 to 2025-01-01 00:00:00
[2024-12-15 09:03:51][SCENARIO] Fin correcte du scénario
------------------------------------
[2024-12-15 09:04:04][SCENARIO] -- Début : . Tags : {"#trigger#":"user","#trigger_name#":"","#trigger_id#":"","#trigger_message#":"Scénario lancé manuellement","#trigger_value#":"admin"}
[2024-12-15 09:04:04][SCENARIO] - Exécution du sous-élément de type [action] : action
[2024-12-15 09:04:04][SCENARIO] Exécution d'un bloc élément : 1340
[2024-12-15 09:04:04][SCENARIO] Exécution d'un bloc élément : 1338
[2024-12-15 09:04:04][SCENARIO] - Exécution du sous-élément de type [action] : code
[2024-12-15 09:04:04][SCENARIO] Exécution d'un bloc code
[2024-12-15 09:04:04][SCENARIO] id :415
[2024-12-15 09:04:05][SCENARIO] Fin correcte du scénario
------------------------------------
[2024-12-15 09:04:46][SCENARIO] -- Début : . Tags : {"#trigger#":"user","#trigger_name#":"","#trigger_id#":"","#trigger_message#":"Scénario lancé manuellement","#trigger_value#":"admin"}
[2024-12-15 09:04:47][SCENARIO] - Exécution du sous-élément de type [action] : action
[2024-12-15 09:04:47][SCENARIO] Exécution d'un bloc élément : 1340
[2024-12-15 09:04:47][SCENARIO] Exécution d'un bloc élément : 1338
[2024-12-15 09:04:47][SCENARIO] - Exécution du sous-élément de type [action] : code
[2024-12-15 09:04:47][SCENARIO] Exécution d'un bloc code
[2024-12-15 09:04:47][SCENARIO] id :415
[2024-12-15 09:04:47][SCENARIO] Check ID=12 : Réservé
[2024-12-15 09:04:47][SCENARIO] Next : Réservé 2024-12-30 00:00:00 to 2025-01-01 00:00:00
[2024-12-15 09:04:47][SCENARIO] Fin correcte du scénario

estce qu’il y a moyen de dire dans le code PHP de chercher serv par exemple, avec un joker, car ca irait aussi, il n’y a pas d’autre évènement avec « …serv… » à l’intérieur…

bon vu que j’y connais pas grand chose, j’ai contourné le problème en indiquant rechercher R & e a c u t e ; serv & e a c u t e ; et je fais retirer les espaces plus loin dans le code:

$event_names= ["R & e a c u t e ; serv & e a c u t e ;"];//Noms des événements séparés par des virgules
$event_names= str_replace(' ', '', $event_names);

Salut,

Déjà quel est le but recherché car dans mon plugin tu peux définir des actions qui seront associé à l’évènement de début et à celui de fin sans avoir besoin de passer par un bloc code.

J’utilise cela pour passer ma maison en mode location / absent

merci pour ta réponse. le but recherché est double:

avoir un panel sur lequel j’ai l’info de ce qu’il se passe actuellement et dans le futur (prochaines réservations, départ des locataires, etc.)
et aussi avoir des actions qui se déroulent en fonction de la journée prévue (location, autre calendrier pour le ménage, etc.)

je le faisais très bien avec le plugin ics mais il commence à générer de plus en plus de logs car non tenu à jour…

mettre des actions sur les évènements dans le plugin import2ical pourquoi pas mais ca le fait sur tous les évènements je ne crois pas que ca m’aidera malheureusement:

image

avec un peu de php pour comparer les dates et faire quelques calculs, ca va, j’avance bien maintenant que j’ai résolu ce problème d’accents :slight_smile:

$id=415; //Mettre ici l'ID du calendrier
$events= ["R & e a c u t e ; serv & e a c u t e ;"];//Noms des événements séparés par des virgules
$events= str_replace(' ', '', $event_names);
$calendar=eqLogic::byId($id); // On récupère le calendrier que l'on stock dans une variable

Salut,

J’avais rencontré le même problème pour des codes émojis interprétés aussi à la 2ème sauvegarde d’un scénario. Une solution simple est de séparer la chaine de caractères pour qu’elle ne soit plus interprétée à la sauvegarde (évite le str_replace) :

$event_names = ["R&ea"."cute;serv&ea"."cute;"];

Sinon, en gardant ta solution, tu peux mettre seulement un seul espace pour é, les autres espaces ne sont pas nécessaires :

$event_names= ["R&e acute;serv&e acute;"];//Noms des événements séparés par des virgules
$event_names= str_replace(' ', '', $event_names);

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.