Mille merci pour cette superbe solution fonctionnelle!. J’aimerais également récupérer plusieurs valeurs du tableau créé dans d’autres variables. J’ai écrémé la doc Jeedom sans trouver de fonction adhoc. Saurais tu comment procéder ?
La c’est du PHP pour la majorité des fonctions il te faut donc regarder la documentation PHP
les 2 spécifiques Jeedom sont ->setTags et ->getTags (reference dans l’API Jeedom)
Ben c’est assez "simple" après relecture du code du scenario
aprés la ligne :
$json est un tableau de variables a 2 dimensions
dont la première valeur est le numero de la ligne rencontrée (ça part de 0 pour la 1ere)
et la 2ième la donnée ayant pour index une des valeurs suivante:
serialNumber, LastReportDate, devType, lastReportWatts, lastReportWatts ou maxReportWatts
donc si tu veut obtenir une valeur tu fait par exemple:
$mavaleur = $json[2]['lastReportWatts'];
pour avoir la puissance du 3ième panneau (oui 2 car le 1er panneaux c’est 0)
Ne te reste plus qu’a re-sortir à la fin du bloc code ta valeur dans un tag a fin de pouvoir l’exploiter dans la suite du scenario.
Merci pour le retour. Je cherche en fait à savoir si c’est possible et comment le faire en dehors du code du scenario et donc dans le virtuel qui accueille la variable « tableau ». Code PHP également nécessaire dans ce cas dans le virtuel ?
Les virtuels ne sont pas prévus pour faire du PHP … à la limite dans plugin-Script qui lui peut faire du PHP mais qui sera beaucoup moins souple car tu va devoir répéter ton php pour chaque commande/info désiré …
Les commandes que je t’ai indiquées dans le scenario peuvent renseigner un virtuel composée de plusieurs commande/infos il te suffit de multiplier le nombre de variables/tag utilisés …
Petite info pour ceux qui ont suivi ce fil, la variable « tableau » dans le virtuel ne doit pas être historisée sinon, le bloc code dans le scénario sera en erreur.
Bonjour à tous,
Je suis en triphasé chez moi.
Savez vous s’il est possible de récupérer directement les puissances associées à chaque phase pour la conso?
Merci d’avance
Cordialement,
Silkarion
Je m’auto-réponds…
En relisant les posts, j’ai constaté que ces infos sont sous le json ‹ http:// ›.$ip.’/stream/meter’. J’ai utilisé l’APK indiquée et bingo, je récupère bien les données via un Edge.
Maintenant ça se corse.
n’étant pas du tout connaisseur du php, j’ai « copié » les exemples du dessus et tente de me connecter avec le code suivant :
$request_http = new com_http(‹ http:// ›.$ip.’/stream/meter’,"$loginInstaller","$passwdInstaller");
$request_http->setCURLOPT_HTTPAUTH(CURLAUTH_DIGEST);
$json=json_decode(trim($request_http->exec()), true);
mais là…
j’ai un beau :
[2022-05-14 22:10:10][SCENARIO] Echec de la requête HTTP : http://192.168.1.xxx/stream/meter cURL error : Operation timed out after 2001 milliseconds with 827 bytes received
pourtant les login et mot de passe fonctionnent bien via un navigateur.
Une idée?
Bonsoir,
Les données sont actualisées chaques secondes.
Dans le filtre nodered, on peut adapter le filtre pour limiter les flux de données.
Bonne soirée
Silkarion
Bonjour à tous,
À titre d’info, suite à des pbs de stabilité avec mqtt (bufferisation des données non voulue tout à coup?!?), j’ai cherché à avoir les infos d’une autre manière…
En exploitant les infos sous ‹ http:// ›.$ip.’/ivp/meters/readings’ on récupère les mêmes infos exploitables très simplement (idem à production.json)
Je scanne les infos chaque minute. Je risque juste de louper les pics de conso inférieurs à 1 minute. Pas gênant pour mon utilisation…