Bonjour Jean-Baptiste,
J’ai finalement trouvé mon bonheur ici :
C’est la syntaxe de la commande :
curl -d « optType=ReadRealTimeData&pwd=REQ_NO_SOLAX » -X POST http://192.168.1.xxx’
.
Cette commande renvoit :
{« sn »:« REQ_NO_SOLAX »,« ver »:« 3.003.02 »,« type »:4,« Data »:[0,0,0,0,0,0,0,0,0,0,0,637,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,0,0,0,0,0,0,65045,65535,1443,0,13003,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],« Information »:[6.000,4,« XB3260I3469062 »,8,0.00,0.00,1.39,0.00,0.00,1]}
(Beaucoup de 0 car il fait nuit au moment de la commande …)
j’ai ensuite trié les datas avec un petit scénario qui s’execute toutes les minutes :
$solaxdata=[
'NetworkVoltage' => "", // Volt de la maison
'OutputCurrent' => "", // Ampères en sortie de l'onduleur
'ACPower' => "", // Watts en sortie de l'onduleur
'PV1Voltage' => "", // Voltage de la String 1
'PV2Voltage' => "", // Voltage de la String 2
'PV1Current' => "", // Ampères en sortie de la String 1
'PV2Current' => "", // Ampères en sortie de la String 2
'PV1InputPower' => "", // Watts en sortie de la String 1
'PV2InputPower' => "", // Watts en sortie de la String 2
'SolaxUnknown10' => "",
'RunMODE' => "", // Mode de fonctionnement de l'onduleur. 2 = Production ; 0 = En attente production
'TotalYield' => "", // Energie (kWh) totale produite par l'onduleur
'SolaxUnknown13' => "",
'RunMODE' => "", // Mode de fonctionnement de l'onduleur
'DailyYield' => "", // Energie (kWh) produite par jour par l'onduleur
'unknown16' => "", //batterie
'unknown17' => "", //batterie
'unknown18' => "", //batterie
'unknown19' => "", //batterie
'unknown20' => "", //batterie
'unknown21' => "", //batterie
'unknown22' => "", //batterie
'unknown23' => "", //batterie
'unknown24' => "", //batterie
'unknown25' => "", //batterie
'unknown26' => "", //batterie
'unknown27' => "", //batterie
'unknown28' => "", //batterie
'unknown29' => "", //batterie
'unknown30' => "", //batterie
'unknown31' => "", //batterie
'unknown32' => "", //batterie
'unknown33' => "", //batterie
'unknown34' => "", //batterie
'unknown35' => "", //batterie
'unknown36' => "", //batterie
'unknown37' => "", //batterie
'unknown38' => "", //batterie
'unknown39' => "", //batterie
'unknown40' => "", //batterie
'unknown41' => "", //batterie
'unknown42' => "", //batterie
'unknown43' => "", //batterie
'unknown44' => "", //batterie
'unknown45' => "", //batterie
'unknown46' => "", //batterie
'unknown47' => "", //batterie
'unknown48' => "", //batterie
'unknown51' => "",
'GridExported' => "",
'GridImported' => "",
'TotalFeedInEnergy' => "", // Energie totale renvoyée sur le réseau EDF
'unknown53' => "",
'TotalConsumption' => "", //Energie totale importée depuis le réseau EDF
'unknown55' => "",
'unknown56' => "",
'unknown57' => ""
];
$arr=[];
$output = shell_exec('curl -d "optType=ReadRealTimeData&pwd=SXFAWWMMQN" -X POST http://192.168.1.101');
$scenario->setLog($output);
$jsonData = json_decode($output, true);
foreach ($jsonData['Data'] as $value) {
$arr[]=$value;
}
$i=0;
foreach($solaxdata as $clef => $valeur){
$solaxdata[$clef]=$arr[$i];
$i += 1;
}
foreach($solaxdata as $clef => $valeur){
$scenario->setlog($clef.' : '.$valeur);
$scenario->setdata($clef, $valeur, false);
cmd::ByString("#[BETA][Data Solax][$clef]#")->event("$valeur");
}
j’envoi le tout dans un virtuel :
je tire une synthèse de ces infos dans un second virtuel