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.
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
parRéseau
-
P_Load
parConsommation
-
P_PV
parProduction
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.