Recup infos Fronius

Bonjour,
J’ai un Fronius Primo et des panneaux solaires. J’ai appliqué la solution apporté par Poluket et ça commence à fonctionner. J’ai cependant une anomalie que je n’arrive pas à résoudre : mon Virtuel n’affiche que des 0 alors qu’en cliquant sur l’historique, les valeurs semblent justes. Voyez vous pourquoi ?
Je joins une copie d’écran, ainsi que les commandes. Merci d’avance à la communauté pour son aide.


image

Hello
A mon avis il manque le principal !
Postez le code du scénario et son log

Bonjour yoyouri, et merci de bien vouloir m’aider.
Je joins l’image du code du scenario ainsi que le log.


Bonjour @Jujube,
Excuse moi de te répondre seulement, mais je n’avais pas mis de surveillance sur ce post et vu que tu a fait une réponse global et non via ma précédente réponse, je n’ai pas été notifié.

Pour commencer, dans ton scénario, pourquoi avoir mis des actions des actions après le code ?
Celles-ci ne servent à rien vu que le code écrit déjà dans le Virtuel
Commence par les supprimer

Ensuite, dans le log de ton scénario, on ne voit pas les info récupéré dans l’onduleur

Sauvegarde ton code dans un fichier texte et essais avec celui-là (un simple copier-coller à condition de changer le nom des commandes de ton virtuel

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "http://192.168.1.8/solar_api/v1/GetPowerFlowRealtimeData.fcgi");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_TIMEOUT,        15);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 15);
$data = curl_exec($curl);
$httpRespCode  = curl_getinfo($curl, CURLINFO_HTTP_CODE);

$scenario->setLog("HTTP Response : " . $httpRespCode);
if ($httpRespCode == 0) {
  $scenario->setLog("HTTP Error : " . curl_error($curl));
}

$scenario->setLog("DATA : " . var_export($data, true));
$parsed_json = json_decode($data);
$scenario->setLog("Parsed JSON : " . var_export($parsed_json, true));

//On récupère la puissance instantanée du photovoltaïque
$P_PV = $parsed_json->{'Body'}->{'Data'}->{'Site'}->{'P_PV'};
$scenario->setLog("P_PV Collectée : " . $P_PV);
cmd::byString('#[Maison_Triplet][Virtuel Fronius][Production]#')->event(($P_PV));

//On récupère la puissance instantanée du réseau
$P_Grid = $parsed_json->{'Body'}->{'Data'}->{'Site'}->{'P_Grid'};
$scenario->setLog("P_Grid Collectée : " . $P_Grid);
cmd::byString('#[Maison_Triplet][Virtuel Fronius][Réseau]#')->event(($P_Grid));

//On récupère la puissance instantanée consommée
$P_Load = $parsed_json->{'Body'}->{'Data'}->{'Site'}->{'P_Load'};
$scenario->setLog("P_Load Collectée : " . $P_Load);
cmd::byString('#[Maison_Triplet][Virtuel Fronius][Consommation]#')->event(($P_Load));

//On récupère la puissance produite du jour
$E_Day = $parsed_json->{'Body'}->{'Data'}->{'Inverters'}->{'1'}->{'E_Day'};
$scenario->setLog("E_Day Collectée : " . $E_Day);
cmd::byString('#[Maison_Triplet][Virtuel Fronius][Production du Jour]#')->event(($E_Day));

//On récupère la puissance produite total
$E_Total = $parsed_json->{'Body'}->{'Data'}->{'Site'}->{'E_Total'};
$scenario->setLog("E_Total Collectée : " . $E_Total);
cmd::byString('#[Maison_Triplet][Virtuel Fronius][Production Total]#')->event(($E_Total));

Ensuite, pour que ton Virtuel soit plus compréhensif et que ça fonctionne directement avec mon code ci-dessus, fait comme moi en remplaçant :

  • P_Grid par Réseau
  • P_Load par Consommation
  • P_PV par Production
    Et n’hésite pas à rajouter les autres info qui peuvent t’intéresser

si tu ajoutes en ligne 3 dans ton code, tu verras les data:

$scenario->setlog("data:".$data);
$scenario->setLog("Parsed JSON : ".var_export($parsed_json,true));

et je confirme que tu as un doublon pour les 3 events, c’était p-e la cause de tes 0

pour mieux comprendre, le sujet initial

Bonjour yoyouri,
Et merci infiniment, ça marche ! Impec !
Je vais pouvoir affiner maintenant (affichage du virtuel) et mettre en place quelques actions automatiques pour profiter au mieux de la production des panneaux.
Merci encore à toi, et à la communauté Jeedom

Super
Profite en bien et n’hésite pas à y associer d’autres plugin dont le super #plugin-solcast

PS : pense à cocher la solution

Merci, bonne idée, je l’ai chargé, je vais le paramétrer.
Une dernière question : la variable Consommation rend une valeur toujours négative, comment puis-je l’afficher en positif ? j’ai cherché différentes solution ds le Virtuel, je n’arrive pas à inverser la valeur.

il faut mettre la commande absolue devant comme ça, où créer une ligne de plus dans sont virtuel pour l’a mettre en absolue

abs(#[Maison][Fronius][Consommation]#)

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