J’essaye d’écrire un code widget (html/javascript) en y intégrant une ou des requêtes AJAX.
Le code html est dans le répertoire :
html/data/customTemplates/dashboard/
Avec un appel a un fichier .php situé sous le même chemin, j’obtiens un code d’erreur 404 à la requête http (de type GET).
J’ai essayé de renommer ce fichier en .html pour bypasser le .htaccess et voir mais j’ai toujours l’erreur 404.
Puis avoir l’avis de spécialistes ?
Du aux dernières mesures de sécurité sur Jeedom, est-il toujours envisageable de pouvoir intégrer des requêtes AJAX à partir d’un code Widget ou non ?
Merci d’avance
Ma configuration
Raspberry Pi4B 8 Go - Debian GNU/Linux 10 (buster) 64 bits (aarch64)
Jeedom version Stable 4.2.18
Votre fichier test.php ne se trouve pas à la racine du site mais dans
Il faut donc le spécifier fans la requête.
Pour tester de votre côté, ouvrez la console développeur du navigateur (touche F12) et ouvrez l’onglet réseau, ensuite provoquez la requête et vous verrez ce que fait le navigateur
Oui bien sur, c’est une autre approche mais je voulais avant tout voir ce qui était faisable dans ce contexte (requête Ajax) pour créé des widgets.
Mon but dans le cas présent est de compléter un widget déja créé qui affiche la température avec les informations de Temp. Min, Temp. Max, Tendance sur la journée.
Bien sur, il existe dans le core de Jeedom les tags :
#minHistoryValue#
#maxHistoryValue#
#tendance#
Mais si j’ai bien compris (il se peut que je me trompe …), ces valeurs sont calculées par rapport à une durée glissante (24h00 par défaut qui peut être modifiée, 2h00 pour tendance).
Donc si il a fait très chaud la veille et beaucoup moins le lendemain, l’affichage n’est pas très représentatif une bonne partie de la journée.
Mon but était (a partir de requête Ajax sur un fichier .php) plutot d’utiliser les fonctions de la forme :
Avant toute chose, un grand merci pour ton message et ta suggestion.
C’est un contournement astucieux du testeur d’expression en effet.
Evidement, ce n’est pas aussi puissant qu’un scénarion PHP que l’on pourrait appeler au travers d’une requête AJAX mais ca pourrait répondre à mon besoin ponctuel.
Juste pour info, j’ai complété mon widget Temperature avec les données min, max Historique et ce matin, le max de la journée était de 25°C (il ne faisait que 18°C dehors). Ces variables Historiques sont certainement très utiles mais avec leur plage glissante, à mon avis, inadaptées à leur utilisation pour des observations journalières.
Bref, si on revient à ton idée, j’ai juste un petit soucis et je ne vois pas comment le résoudre.
Dans mon code HTML du widget, je sais récupérer l’Id de la commande (#id#) mais sans faire appel à des instructions PHP du core, je ne vois pas comment récupérer la commande sous la forme « HumanReadable » (#[object][equipment][command]#) que je dois intégrer dans l’instruction « maxBetween … »
De nouveau merci pour ces informations fort pertinentes.
Je pense que dans un premier temps, je vais me servir de ces pistes pour travailler en Java Script.
Mais j’avoue que je regarderais bien aussi le moyen de créer une fonction en PHP que l’on pourrait appeler en JS.
A voir …
Je te souhaite une bonne soirée.
Vraiment super ces pistes pour integrer des commandes de l’API Jeedom JavaScript dans le code html.
Je te remercie.
Du coup, en creusant un peu les liens que tu m’as fourni, je me suis plutot orienté vers la commande :
jeedom.history.get
Mais je rencontre une difficulté avec des incohérences entre les résultats :
let historyArray = history.data;
let historyminValue = history.minValue;
let historymaxValue = history.maxValue;
que je vais remonter sur un nouveau post.
Donc, encore merci et a une autre fois peut être.
Bonne soirée