Valeur variable à nom variable

Bonjour,

En jouant avec les informations du plugin Téléinfo, j’ai voulu rendre l’affichage de l’information « Tarif en cours » plus lisible. Celle-ci retourne « HC » ou « HP » et j’aurais aimé qu’il affiche « Heures creuses » ou « Heures pleines ».

On ne peut à priori pas modifier une valeur avant de l’afficher, j’ai donc eu l’idée de créer des variables « HC » = « Heures creuses » et « HP » = « Heures pleines » que j’appelle dans la valeur du virtuel par variable((#[Maison][Compteur EDF][PTEC]#)).

Or, j’aimerai changer le nom de mes variables en « tarif_HC » et « tarif_HP ». Comment faire pour intégrer ça dans mon appel et donc concaténer la chaîne « tarif_ » avec le résultat de la commande #[Maison][Compteur EDF][PTEC]# pour le passer en paramètre dans la fonction variable ?

Merci d’avance pour votre aide.

PS: Si il est directement possible de modifier la valeur du virtue avant de l’afficher genre si #[Maison][Compteur EDF][PTEC]# == 'HC'..., merci de me le dire…

Bonjour

Tu peux effectuer un remplacement de caractère directement dans ton virtuel. Dans la valeur, tu marques:

str_replace("MOT","REMP",#EQUIPEMENT#)

Si tu as plusieurs remplacement à faire, la syntaxe est la suivante:

str_replace("MOT","REMP",str_replace("MOT2","REMP2",#EQUIPEMENT#))

avec:
MOT/MOT2: le mot à remplacer
REMP/REMP2: le mot qui va remplacer

Par exemple, pour ma freebox, il me notait le uptime comme ceci: 2 jours 10h 21min 3s
J’ai donc remplacé avec: 2j 10h 21m 3s avec la ligne suivante:

str_replace("jours","j",str_replace("min","m",#[Bureau-DEP][Système][Allumée depuis]#))

Dans ton cas, ton équipement est #[Maison][Compteur EDF][PTEC]# et les deux valeurs à remplacer sont HP et HC, par tarif_HC et tarif_HP. Tu devras donc écrire la valeur suivante dans ton virtuel (INFO de type AUTRE):

str_replace("HP","tarif_HP",str_replace("HC","tarif_HC",#[Maison][Compteur EDF][PTEC]#))

Quand il sera en HP, la partie concernant le HC ne matchera pas et inversement, mais ce n’est pas grave.

Fonctionnel en V3 et V4.

On peut utiliser des fonctions php directement dedans ? Honte à moi… Merci, ça fait le job.
Et dans le cas ou je dois utiliser des noms de variable comme dans mon exemple ?