Comme annoncé, ce forum est passé en lecture seule au 1er janvier 2020. Désormais nous vous invitons à vous rendre sur notre nouvelle page communauté :
Image

A très bientôt !

[Script] Récupérer la production de ses panneaux PV (APS / Altenergy Power System)

Réservé à l'utilisation et la programmation de scripts dans JEEDOM

winhex
Actif
Messages : 3799
Inscription : 23 janv. 2015, 01:41

Re: [Script] Récupérer la production de ses panneaux PV (APS / Altenergy Power System)

Message par winhex » 19 juin 2019, 20:31

pour que le plug ne s'actualise pas J imagine une mémoire cache donc savoir si on peux incrémenter via api

une date de valeur
sert pour agio ou intérêt
ex : un livret si tu verses de l'argent se sera la quinzaine en +
donc les intérêt court à partir du 1er
pour un retrait quinzaine en moin

la date de l'opération diffère de la date de valeur (nommer aussi date de voleur)
le solde est à l'instant T mais pas le calcul interet/agio
j'ai volontairement fait simple
pour les sociétés tu as les effet de commerce (date déchéance,escompte).

d'ou la similarité une conso devrait fonctionné en date de valeur pour ton cas (en moin) mais tu pourrais avoir en plus (anticipation de consommation)
ex
ta piscine contient x litres que tu changes tous les ans par anticipation le plug l'integrerai
t'evitant une hausse de ++% en comparaison du mois precedent alors que c'est normal
ça pourrait être la température engendrant plus de conso clim, ect
donc à soumettre permettant ainssi d avoir un curseur temps anticipition/retroactif une conso prévisionnel

benj29
Actif
Messages : 3983
Inscription : 26 mars 2017, 09:57
Contact :

Re: [Script] Récupérer la production de ses panneaux PV (APS / Altenergy Power System)

Message par benj29 » 19 juin 2019, 21:07

A mon avis, c'est surtout dans le principe que le plugin se rafraichit si l'événement est synchrone.
Le fait qu'on ajoute un historique, le plugin n'en tient pas compte.

Après réflexion de toutes manières le calcul du gain peut être fait en fin de journée.
MAIS ! j'ai un mais de taille.

Le Papp issu du linky n'est pas du tout temporisé. Il est en event, je peux avoir de tout : 8h28m30s puis 8h28m45s puis 32m12s etc.
Le Pprod API lui est toutes les 5 min (le cron du scénario avec ton aide).

Il me faut donc un pas universel et je pense garder les 5min.

J'ai essayé et pas réussi de faire un calcul de moyenne à 5min.
J'ai pris un scénario cron 5min et j'ai tenté plusieurs trucs :

code php
- récupération de la date par php,
- la même avec 5min avant
- fonction average(#"...."#, $date5min, $date)
=> marche pas.

de même, j'ai tenté avec un scénario et une variable direct du genre :

variable pconso5min average(#....#,5min ago,now)
ou plein de variations.

Pareil marche pas !

Mon idée finale serait :
- à minuit,
- je cherche le premier point de la courbe Pproductionapi construit sur les 24h précédent,
- je cherche le point suivant en temps (5min normalement)
- je récupère la valeur Pproduction API,
- je demande la moyenne en pconsommé sur cette période côté compteur en sachant que je ne serai pas parfaitement synchro (à 4m59 maxi :D)
- je regarde si pconsommé = 0
* si =0 alors le gain est le talon estimé à ramener à une conso 5min,
* si non nul alors le gain est la production à ramener à une conso 5min.

L'idée serait d'avoir une courbe à 5min construite en temps réel sur la conso linky.

Du coup, sur une journée à la fin de minuit à minuit, j'ai le gain réel et je peux déduire ce que j'ai donné gratuitement à ENEDIS.
De même si je multiplie par le prix du kWh, je peux calculer mon amortissement de l'installation.

Bon tu m'aides pour coder ?

benj29
Actif
Messages : 3983
Inscription : 26 mars 2017, 09:57
Contact :

Re: [Script] Récupérer la production de ses panneaux PV (APS / Altenergy Power System)

Message par benj29 » 19 juin 2019, 21:33

Bon déjà j'ai réussi à faire mes moyennes à 5min sur l'eau, production et consommation électrique.
On va voir si j'ai juste.

Deux variables par scénario cron 5min
statistics(#[Consommation][Informations Puissance][PAPP (tab)]#,avg,5min ago,now)
statistics(#[Consommation][Informations Eau][Consommation 1min]#,avg,5min ago,now)

Du coup, je vais alléger les graphiques des tablettes en passant sur 5min.

winhex
Actif
Messages : 3799
Inscription : 23 janv. 2015, 01:41

Re: [Script] Récupérer la production de ses panneaux PV (APS / Altenergy Power System)

Message par winhex » 20 juin 2019, 00:08

je cherche le premier point de la courbe Pproductionapi construit sur les 24h précédent,
pour moi je te dirai une recupérooation des > 0 de ton history::all
dans un tableau est le premier [0] tu récupères la valeur et la date

comme d'hab de quoi t'amusé et remettre dans l'ordre :D
si tu enlèves le if tu récupères tous
[2019-06-20 00:01:46][SCENARIO] Start : Scenario lance manuellement.
[2019-06-20 00:01:46][SCENARIO] Exécution du sous-élément de type [action] : code
[2019-06-20 00:01:46][SCENARIO] Exécution d'un bloc code
[2019-06-20 00:01:46][SCENARIO] 42.00
[2019-06-20 00:01:46][SCENARIO] date : 2019-06-19 17:45:00 valeur : 59
[2019-06-20 00:01:46][SCENARIO] date : 2019-06-19 17:50:00 valeur : 59
[2019-06-20 00:01:46][SCENARIO] premier 50 à 2019-06-19 00:00:00
[2019-06-20 00:01:46][SCENARIO] mini 42.00 à 2019-06-19 11:45:00
[2019-06-20 00:01:46][SCENARIO] Fin correcte du scénario

Code : Tout sélectionner

$cmdId= cmd::byString("#[sondes][Sondes SdB][Humidité]#")->getId();
$debut = date("Y-m-d H:i:s", strtotime("yesterday"));
// $fin = date("Y-m-d H:i:s", strtotime("-9 hour 15 min"));  
$fin = date("Y-m-d H:i:s", strtotime("-10 min"));  
$value = history::getStatistique($cmdId, $debut, $fin)["min"];
// $value = history::getStatistique($cmdId, $debut, $fin)["last"];

  $scenario->setLog($value);

$all = history::all($cmdId, $debut, $fin);
$first = $all[0]->getValue();
$firstdate = $all[0]->getDatetime();


for ($i = 0; $i < count($all); $i++) {
   $v = $all[$i];

  if($v->getValue() == '59' )  {
//      if($v->getValue() == $value )  {

  	$current = $v->getDatetime();
    $valeur = $v->getValue();
$scenario->setLog( "date : $current valeur : $valeur ");

}
    if($v->getValue() == $value )  {
      $current2 = $v->getDatetime();
  }
}
  $scenario->setLog("premier $first à $firstdate");

$scenario->setLog("mini $value à $current2");
//$date= date ("Y-m-d H:i:s", strtotime($current));
 //  $scenario->setLog($date);

benj29
Actif
Messages : 3983
Inscription : 26 mars 2017, 09:57
Contact :

Re: [Script] Récupérer la production de ses panneaux PV (APS / Altenergy Power System)

Message par benj29 » 20 juin 2019, 12:02

Bon, je n'ai pas suivi totalement le même chemin que tu m'as proposé, mais je n'en suis pas loin.

Je lancerai ce scénario à 23h55 (y a plus de soleil :D).
la difficulté réside que la conso est présente toute la journée alors que la prod non.
donc j'ai fait le choix de driver la boucle for par la prod et non la conso et en plus le gain n'existe que si la prod est là !
sauf que j'ai un souci je n'arrive pas à calculer la moyenne de l'ID conso jeedom en code.

Cette partie là du code, si quelqu'un peut m'aider ?
Auparavant j'ai déduit la borne temps, temps 5min avant pour calculer la moyenne.

Code : Tout sélectionner

  // déduction des bornes temps à 5min
  $temps = date("Y-m-d H:i:s", strtotime($pprodtime));
  $temps5minbef = date('Y-m-d H:i:s',strtotime('-5 minutes',strtotime($pprodtime)));
  
  // calcul la consommation moyenne 5min avant jusqu'à la valeur de la production
  $pcons5min = averageBetween($cmdIdconso, $temps5minbef, $temps);
  $scenario->setLog("Pconsomoy : $pcons5min pour $temps");
Dans ce code global (manque la fin).

Code : Tout sélectionner

// definition du talon
$talon=600;

// récupération de l'ID pour la production "précise" par API
$cmdIdprodAPI= cmd::byString("#[Consommation][Puissance Instantanée][Production (API)]#")->getId();
// récupération de l'ID pour la consommation @5min (calcul par scénario indépendant)
$cmdIdconso= cmd::byString("#[Consommation][Informations Puissance][PAPP]#")->getId();


// définition des bornes de temps pour l'étude pour aujourd'hui (scénario lancé avant minuit)
$debut = date("Y-m-d H:i:s", strtotime("today"));
$fin = date("Y-m-d H:i:s", strtotime("today 23:59"));

// récupération de l'historique de la production API à 5min
$allprod = history::all($cmdIdprodAPI, $debut, $fin);

// taille à analyser
//$taille_conso = count($allcons);
//$taille_prod = count($allprod);
//$scenario->setLog("Taille conso : $taille_conso & Taille prod : $taille_prod");
// conclusion : c'est la conso le driver mais on prend comme driver la production CAR le gain n'existe que si la production démarre

for ($i = 0; $i < count($allprod); $i++) {
  // on récupère la valeur de la production et on s'arrête à l'avant dernier item sur la boucle for < pour tenir compte de la consommation à postériori
  $pprod = $allprod[$i]->getValue(); 
  // on récupère son temps
  $pprodtime = $allprod[$i]->getDatetime();
  // debug affichage
  // $scenario->setLog( "date : $pprodtime valeur : $pprod ");
  
  // déduction des bornes temps à 5min
  $temps = date("Y-m-d H:i:s", strtotime($pprodtime));
  $temps5minbef = date('Y-m-d H:i:s',strtotime('-5 minutes',strtotime($pprodtime)));
  
  // calcul la consommation moyenne 5min avant jusqu'à la valeur de la production
  $pcons5min = averageBetween($cmdIdconso, $temps5minbef, $temps);
  $scenario->setLog("Pconsomoy : $pcons5min pour $temps");

  // si prod = 0, le gain est 0
  // si prod != 0 alors si conso = 0 le gain est talon sinon gain est prod
}


benj29
Actif
Messages : 3983
Inscription : 26 mars 2017, 09:57
Contact :

Re: [Script] Récupérer la production de ses panneaux PV (APS / Altenergy Power System)

Message par benj29 » 20 juin 2019, 18:43

Voilà tout est bouclé et tourne.
Article à venir. Je ferai un petit article sur ma présentation

Envoyé de mon JSN-L21 en utilisant Tapatalk


winhex
Actif
Messages : 3799
Inscription : 23 janv. 2015, 01:41

Re: [Script] Récupérer la production de ses panneaux PV (APS / Altenergy Power System)

Message par winhex » 20 juin 2019, 20:18

AH on était loin de la seul récupération Json
tu tes fais ton plug !

j'ai appris autant que toi avec mes petits coup de pouce.
jeedom demande du temps mais une fois capté les bases on arrive à se débrouiller.
au plaisir de te lire

benj29
Actif
Messages : 3983
Inscription : 26 mars 2017, 09:57
Contact :

Re: [Script] Récupérer la production de ses panneaux PV (APS / Altenergy Power System)

Message par benj29 » 20 juin 2019, 20:22

Oui, petit plugin suivi pv :).

Image

Je suis maintenant :

- la production temps réel par le pulse,
- la production précise par l'API,
- je déduis le gain réel (avec estimation du talon quand la consommation est nulle),
- je calcule le % autoconsommation sur la journée (la part de la consommation que j'utilise tout de suite ou la part que je donne gratuitement au réseau),
- je calcule l'effacement parfait de la journée (pas forcément le but mais il arrive),
- en fin de journée, je calcule le ratio de l'autoconso par rapport à ma consommation totale (différent de l'autoconsommation générée),
- j'en déduis mon gain par rapport au prix du kwh
- et donc le gain total de l'installation (il me reste à ajouter l'estimé depuis son installation il y a 1.5 mois),

et je peux donc suivre et calculer l'amortissement de l'installation !

Je me suis même ajouté une petite notif TTS à 22h :).

Prochain step quand j'ai de la donnée, ajout dans le tableau de suivi.

Image


benj29
Actif
Messages : 3983
Inscription : 26 mars 2017, 09:57
Contact :

Re: [Script] Récupérer la production de ses panneaux PV (APS / Altenergy Power System)

Message par benj29 » 24 juin 2019, 22:23

Hurmf, j'ai un truc qui marche pas et je ne comprends pas.

Même si les données sont partielles sur la journée (et donc mon système de scénario prend les données de pulse) je devrais avoir une courbe partielle de la journée.

Winhex une idée.

Je te mets mon code. Tu connais déjà le début qui prend le fichier json.
Aujourd'hui, j'ai des données jusqu'à 14h30. Sauf que le graph reste bloqué à hier !
Alors que dans le log du scénario le taf est bien fait et les données sont ajoutées.
Je ne comprends pas.

Le code :

Code : Tout sélectionner

// https://medium.com/@rukmalf/extracting-data-from-apsystems-inverters-8c2b8e8942b6

$json = file_get_contents("http://192.168.2.90/montheme/flux_aps.json");

$arr = json_decode($json, true);

//$scenario->setLog('***************************Fonction****************************'); 

// récupération des colonnes à traiter (time et power)
$times = $arr["data"]["time"];
$powers = $arr["data"]["power"];

// à commenter ensuite
//$scenario->setLog('***************************Affichage des times récupérés****************************'); 
//$scenario->setLog($times);
//$scenario->setLog('***************************Affichage des powers récupérés****************************'); 
//$scenario->setLog($powers);


// découpage des 2 colonnes extraites en supprimant les [ et autres guillemets
$etime = explode(",", str_replace('"', "", str_replace("[", "", str_replace("]", "", $times))));
$eqpow = explode(",", str_replace('"', "", str_replace("[", "", str_replace("]", "", $powers))));

// debug
//$scenario->setLog('***************************Affichage des times nettoyés****************************'); 
//$scenario->setLog($etime);
//$scenario->setLog('***************************Affichage des powers nettoyés****************************'); 
//$scenario->setLog($eqpow);

// on ajoute tous les éléments en historique (au cas où ça sort brut)
// récupération de l'ID
$cmdIdpower= cmd::byString("#[Consommation][Puissance Instantanée][Production (API)]#")->getId();
$cmdpower = cmd::byId($cmdIdpower);

//$sizetime=sizeof($etime);
//$scenario->setlog("taille time : $sizetime");
//$sizepow=sizeof($eqpow);
//$scenario->setlog("taille power : $sizepow");

for($i = 0; $i < sizeof($etime); $i++) {
     $timeread = date("Y-m-d H:i:s", strtotime("$etime[$i]"));  
     if ($timeread != "1970-01-01 01:00:00") {
        $cmdpower->addHistoryValue($eqpow[$i],$etime[$i]); 
        $scenario->setLog("Ajout de la valeur $eqpow[$i] à $cmdIdpower pour $etime[$i]" );
     }
  	 else {
        $scenario->setLog("Pas de valeur à ajouter" );
     }
}

// dernier élément de temps
$fintime = end($etime);
// adaptation du format date pour le dernier élément de temps
$fintime = date("Y-m-d H:i:s", strtotime("$fintime")); 

// update graphique dernière valeur reformatée
$fintime = date("d/m@H:i", strtotime("$fintime")); 
$scenario->setData("last_time_api",$fintime);
$scenario->setLog("Dernière mise à jour à $fintime");

// notification en cas de problème
$maxTime = 7200; // temps en secondes - 2h maximum 
$deltamaxTime = time() - $fintime; // on calcule le delta
if ($deltamaxTime > $maxTime){ // si supérieur, alerte
   // -- /!\alert
   $monitor_api_value = 1;
   $scenario->setLog("Alerte de remontée API !"); // log
   } else
{
   $monitor_api_value = 0;
   $scenario->setLog("Check API OK !"); // log
}
$scenario->setData('monitor_api',$monitor_api_value); // et on passe à la variable pour jeedom
La commande de récupération avant me donne un fichier pas total car le serveur visiblement ne donne que des données jusqu'à 14h30.

Code : Tout sélectionner

{"data":{"time":"[\"05:50:14\",\"06:25:14\",\"06:50:14\",\"07:00:14\",\"07:15:14\",\"07:30:14\",\"07
:45:14\",\"07:55:14\",\"08:05:14\",\"08:35:14\",\"08:50:14\",\"08:55:14\",\"09:10:14\",\"09:15:14\",
\"09:30:14\",\"09:35:14\",\"09:40:14\",\"09:45:14\",\"09:50:14\",\"10:00:14\",\"10:05:14\",\"10:10:1
4\",\"10:15:14\",\"10:20:14\",\"10:25:14\",\"10:30:14\",\"10:35:14\",\"10:40:14\",\"10:45:14\",\"10:
50:14\",\"10:55:14\",\"11:00:14\",\"11:05:14\",\"11:10:14\",\"11:15:14\",\"11:20:14\",\"11:25:14\",\
"11:30:14\",\"11:35:14\",\"11:40:14\",\"11:45:14\",\"11:50:14\",\"11:55:14\",\"12:00:14\",\"12:05:14
\",\"12:10:14\",\"12:15:14\",\"12:20:14\",\"12:25:14\",\"12:30:14\",\"12:35:14\",\"12:40:14\",\"12:4
5:14\",\"12:50:14\",\"12:55:14\",\"13:00:14\",\"13:05:14\",\"13:10:14\",\"13:15:14\",\"13:20:14\",\"
13:25:14\",\"13:30:14\",\"13:35:14\",\"13:40:14\",\"13:45:14\",\"13:50:14\",\"13:55:14\",\"14:00:14\
",\"14:05:14\",\"14:10:14\",\"14:15:14\",\"14:20:14\",\"14:25:14\",\"14:30:14\",\"14:35:14\",\"14:40
:14\"]","power":"[\"0\",\"0\",\"0\",\"0\",\"12\",\"144\",\"203\",\"225\",\"242\",\"434\",\"455\",\"4
67\",\"544\",\"613\",\"736\",\"677\",\"770\",\"833\",\"791\",\"648\",\"641\",\"631\",\"765\",\"655\"
,\"559\",\"713\",\"761\",\"827\",\"884\",\"842\",\"892\",\"907\",\"890\",\"1084\",\"1194\",\"1147\",
\"1090\",\"1135\",\"1215\",\"1141\",\"1161\",\"1124\",\"1126\",\"1145\",\"1147\",\"1113\",\"1046\",\
"1076\",\"1108\",\"1078\",\"968\",\"932\",\"949\",\"1038\",\"998\",\"1137\",\"1295\",\"1296\",\"1291
\",\"1324\",\"1351\",\"1429\",\"1430\",\"1418\",\"1400\",\"1399\",\"1399\",\"1397\",\"1394\",\"1396\
",\"1396\",\"1386\",\"1363\",\"1368\",\"1355\",\"1353\"]"},"code":"1"}
Et mon scénario fait bien le boulot :

Code : Tout sélectionner

[2019-06-24 22:20:02][SCENARIO] Start : Scenario execute automatiquement sur programmation.
[2019-06-24 22:20:02][SCENARIO] Exécution du sous-élément de type [action] : code
[2019-06-24 22:20:02][SCENARIO] Exécution d'un bloc code
[2019-06-24 22:20:02][SCENARIO] Exécution du sous-élément de type [action] : action
[2019-06-24 22:20:02][SCENARIO] Exécution de la commande [Agrégateurs][Box Photovoltaïque][curl_json]
[2019-06-24 22:20:03][SCENARIO] Pause de 10 seconde(s)
[2019-06-24 22:20:13][SCENARIO] Affectation de la variable last_time_api => NULL = NULL
[2019-06-24 22:20:13][SCENARIO] Exécution du sous-élément de type [action] : code
[2019-06-24 22:20:13][SCENARIO] Exécution d'un bloc code
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 0 à 13595 pour 05:50:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 0 à 13595 pour 06:25:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 0 à 13595 pour 06:50:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 0 à 13595 pour 07:00:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 12 à 13595 pour 07:15:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 144 à 13595 pour 07:30:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 203 à 13595 pour 07:45:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 225 à 13595 pour 07:55:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 242 à 13595 pour 08:05:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 434 à 13595 pour 08:35:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 455 à 13595 pour 08:50:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 467 à 13595 pour 08:55:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 544 à 13595 pour 09:10:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 613 à 13595 pour 09:15:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 736 à 13595 pour 09:30:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 677 à 13595 pour 09:35:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 770 à 13595 pour 09:40:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 833 à 13595 pour 09:45:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 791 à 13595 pour 09:50:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 648 à 13595 pour 10:00:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 641 à 13595 pour 10:05:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 631 à 13595 pour 10:10:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 765 à 13595 pour 10:15:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 655 à 13595 pour 10:20:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 559 à 13595 pour 10:25:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 713 à 13595 pour 10:30:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 761 à 13595 pour 10:35:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 827 à 13595 pour 10:40:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 884 à 13595 pour 10:45:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 842 à 13595 pour 10:50:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 892 à 13595 pour 10:55:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 907 à 13595 pour 11:00:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 890 à 13595 pour 11:05:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1084 à 13595 pour 11:10:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1194 à 13595 pour 11:15:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1147 à 13595 pour 11:20:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1090 à 13595 pour 11:25:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1135 à 13595 pour 11:30:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1215 à 13595 pour 11:35:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1141 à 13595 pour 11:40:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1161 à 13595 pour 11:45:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1124 à 13595 pour 11:50:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1126 à 13595 pour 11:55:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1145 à 13595 pour 12:00:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1147 à 13595 pour 12:05:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1113 à 13595 pour 12:10:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1046 à 13595 pour 12:15:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1076 à 13595 pour 12:20:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1108 à 13595 pour 12:25:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1078 à 13595 pour 12:30:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 968 à 13595 pour 12:35:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 932 à 13595 pour 12:40:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 949 à 13595 pour 12:45:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1038 à 13595 pour 12:50:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 998 à 13595 pour 12:55:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1137 à 13595 pour 13:00:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1295 à 13595 pour 13:05:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1296 à 13595 pour 13:10:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1291 à 13595 pour 13:15:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1324 à 13595 pour 13:20:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1351 à 13595 pour 13:25:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1429 à 13595 pour 13:30:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1430 à 13595 pour 13:35:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1418 à 13595 pour 13:40:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1400 à 13595 pour 13:45:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1399 à 13595 pour 13:50:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1399 à 13595 pour 13:55:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1397 à 13595 pour 14:00:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1394 à 13595 pour 14:05:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1396 à 13595 pour 14:10:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1396 à 13595 pour 14:15:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1386 à 13595 pour 14:20:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1363 à 13595 pour 14:25:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1368 à 13595 pour 14:30:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1355 à 13595 pour 14:35:14
[2019-06-24 22:20:13][SCENARIO] Ajout de la valeur 1353 à 13595 pour 14:40:14
[2019-06-24 22:20:13][SCENARIO] Dernière mise à jour à 24/06@14:40
[2019-06-24 22:20:13][SCENARIO] Alerte de remontée API !
[2019-06-24 22:20:13][SCENARIO] Exécution du sous-élément de type [action] : action
[2019-06-24 22:20:13][SCENARIO] Lancement du scénario : Monitoring remontée API options : []
[2019-06-24 22:20:13][SCENARIO] Fin correcte du scénario
Sauf que le graph est !!!!!

Image

bloqué à hier 11h55.

Au cas où l'ID est le bon, 13595

Image

winhex
Actif
Messages : 3799
Inscription : 23 janv. 2015, 01:41

Re: [Script] Récupérer la production de ses panneaux PV (APS / Altenergy Power System)

Message par winhex » 24 juin 2019, 23:27

pour moi
ta base de données sur cette id est bloqué
ou highchart bug
donc soit via scénario PHP
history::all
voir tes données
ou via mysql (dans configuration / OS/DB)
(j'avais laissé dans un sujet quelques commande mais il n'existe plus)
si tu as des données c'est highchart qui bug

peut être je me trompe mais il se peux qu'à 5h demain cela se débloque
la raison
on a 2 bdd par id history (du jour) et archistory (archive)
d'où history::all

benj29
Actif
Messages : 3983
Inscription : 26 mars 2017, 09:57
Contact :

Re: [Script] Récupérer la production de ses panneaux PV (APS / Altenergy Power System)

Message par benj29 » 25 juin 2019, 05:43

Mais je pense que les données sont bien en db.
Mais du coup pour les afficher vraiment avec le graphique ? Ou même l'historique jeedom ?

Envoyé de mon JSN-L21 en utilisant Tapatalk


winhex
Actif
Messages : 3799
Inscription : 23 janv. 2015, 01:41

Re: [Script] Récupérer la production de ses panneaux PV (APS / Altenergy Power System)

Message par winhex » 25 juin 2019, 13:40

vérifie via un scénario code
history::all
message plus haut du 19 juin 2019, 23:08
ou via cmd mysql

benj29
Actif
Messages : 3983
Inscription : 26 mars 2017, 09:57
Contact :

Re: [Script] Récupérer la production de ses panneaux PV (APS / Altenergy Power System)

Message par benj29 » 25 juin 2019, 20:47

Bon, déjà j'ai trouvé pourquoi j'avais un problème pour la détection de l'erreur par API.
Voici le code corrigé :

Code : Tout sélectionner

// https://medium.com/@rukmalf/extracting-data-from-apsystems-inverters-8c2b8e8942b6

$json = file_get_contents("http://192.168.2.90/montheme/flux_aps.json");

$arr = json_decode($json, true);

//$scenario->setLog('***************************Fonction****************************'); 

// récupération des colonnes à traiter (time et power)
$times = $arr["data"]["time"];
$powers = $arr["data"]["power"];

// à commenter ensuite
//$scenario->setLog('***************************Affichage des times récupérés****************************'); 
//$scenario->setLog($times);
//$scenario->setLog('***************************Affichage des powers récupérés****************************'); 
//$scenario->setLog($powers);


// découpage des 2 colonnes extraites en supprimant les [ et autres guillemets
$etime = explode(",", str_replace('"', "", str_replace("[", "", str_replace("]", "", $times))));
$eqpow = explode(",", str_replace('"', "", str_replace("[", "", str_replace("]", "", $powers))));

// debug
//$scenario->setLog('***************************Affichage des times nettoyés****************************'); 
//$scenario->setLog($etime);
//$scenario->setLog('***************************Affichage des powers nettoyés****************************'); 
//$scenario->setLog($eqpow);

// on ajoute tous les éléments en historique (au cas où ça sort brut)
// récupération de l'ID
$cmdIdpower= cmd::byString("#[Consommation][Puissance Instantanée][Production (API)]#")->getId();
$cmdpower = cmd::byId($cmdIdpower);

//$sizetime=sizeof($etime);
//$scenario->setlog("taille time : $sizetime");
//$sizepow=sizeof($eqpow);
//$scenario->setlog("taille power : $sizepow");

for($i = 0; $i < sizeof($etime); $i++) {
     $timeread = date("Y-m-d H:i:s", strtotime("$etime[$i]"));  
     if ($timeread != "1970-01-01 01:00:00") {
        $cmdpower->addHistoryValue($eqpow[$i],$etime[$i]); 
        $scenario->setLog("Ajout de la valeur $eqpow[$i] à $cmdIdpower pour $etime[$i]" );
     }
  	 else {
        $scenario->setLog("Pas de valeur à ajouter" );
     }
}

// dernier élément de temps
$fintime = end($etime);
// adaptation du format date pour le dernier élément de temps
$fintime = date("Y-m-d H:i:s", strtotime("$fintime")); 

// notification en cas de problème
$maxTime = 7200; // temps en secondes - 2h maximum 7200
$deltamaxTime = time() - strtotime("$fintime"); // on calcule le delta

// update graphique dernière valeur reformatée
$fintime = date("d/m@H:i", strtotime("$fintime")); 
$scenario->setData("last_time_api",$fintime);
$scenario->setLog("Dernière mise à jour à $fintime");

if ($deltamaxTime > $maxTime){ // si supérieur, alerte
   // -- /!\alert
   $monitor_api_value = 1;
   $scenario->setLog("Alerte de remontée API !"); // log
   } else
{
   $monitor_api_value = 0;
   $scenario->setLog("Check API OK !"); // log
}
$scenario->setData('monitor_api',$monitor_api_value); // et on passe à la variable pour jeedom
$scenario->setLog("Défaillance : $monitor_api_value"); // log
Depuis 2/3 jours, j'ai 2 à 3h de retard sur le serveur, donc vu que la production s'arrête vers 20/21h, je m'autorise jusqu'à 2h de retard pour le calcul.

benj29
Actif
Messages : 3983
Inscription : 26 mars 2017, 09:57
Contact :

Re: [Script] Récupérer la production de ses panneaux PV (APS / Altenergy Power System)

Message par benj29 » 25 juin 2019, 21:05

Bon, ensuite, oui, il n'y a aucune donnée dans la db alors que je fais bien l'insertion par le script de l'API.
Il y a donc un souci, l'import par code ne marche pas.

Ce qui me faire ça, dans le bloc code :

Code : Tout sélectionner

$debut = date("Y-m-d H:i:s", strtotime("today"));
$fin = date("Y-m-d H:i:s", strtotime("today 23:59"));

// récupération de l'historique de la production API à 5min
$allprod = history::all($cmdIdprodAPI, $debut, $fin);
C'est erreur pour afficher les données :

Image

J'ai tenté de sélectionner un jour où j'ai de la donnée (avant-hier) :

Code : Tout sélectionner

// récupération de l'ID pour la production "précise" par API
$cmdIdprodAPI= cmd::byString("#[Consommation][Puissance Instantanée][Production (API)]#")->getId();
// récupération de l'ID pour la consommation @5min (calcul par scénario indépendant)
$cmdIdconso= cmd::byString("#[Capteurs et Actionneurs][Compteur Linky Garage][PAPP]#")->getId();

// définition des bornes de temps pour l'étude pour aujourd'hui (scénario lancé avant minuit)
$debut = date("Y-m-d H:i:s", strtotime("2 days ago 00:00"));
$fin = date("Y-m-d H:i:s", strtotime("2 days ago 23:59"));


  $scenario->setLog("Debug début : $debut ; $fin");

// récupération de l'historique de la production API à 5min
$allprod2 = history::all($cmdIdprodAPI, $debut, $fin);

for($i = 0; $i < sizeof($allprod2); $i++) {
     $scenario->setLog("Valeur $allprod2[$i]" );
}
Mais j'ai l'impression que je m'y prends mal pour les "lire".

Néanmoins, l'historique est vide depuis 2 jours... comment en être sûr ?

Image

winhex
Actif
Messages : 3799
Inscription : 23 janv. 2015, 01:41

Re: [Script] Récupérer la production de ses panneaux PV (APS / Altenergy Power System)

Message par winhex » 25 juin 2019, 21:25

2, 3 // et voici

Code : Tout sélectionner

$cmdId= cmd::byString("#[sondes][Sondes SdB][Humidité]#")->getId();
$debut = date("Y-m-d H:i:s", strtotime("yesterday"));
// $fin = date("Y-m-d H:i:s", strtotime("-9 hour 15 min"));  
$fin = date("Y-m-d H:i:s", strtotime("-10 min"));  
$value = history::getStatistique($cmdId, $debut, $fin)["min"];
// $value = history::getStatistique($cmdId, $debut, $fin)["last"];

  $scenario->setLog($value);

$all = history::all($cmdId, $debut, $fin);
//$first = $all[0]->getValue();
//$firstdate = $all[0]->getDatetime();


for ($i = 0; $i < count($all); $i++) {
   $v = $all[$i];

//  if($v->getValue() == '59' )  {
 //     if($v->getValue() == $value )  {

  	$current = $v->getDatetime();
    $valeur = $v->getValue();
$scenario->setLog( "date : $current valeur : $valeur ");

// }
//    if($v->getValue() == $value )  {
//      $current2 = $v->getDatetime();
//  }
}
//  $scenario->setLog("premier $first à $firstdate");

// $scenario->setLog("mini $value à $current2");

//$date= date ("Y-m-d H:i:s", strtotime($current));
 //  $scenario->setLog($date);
le log

Code : Tout sélectionner

[2019-06-25 21:22:37][SCENARIO] Start : Scenario lance manuellement.
[2019-06-25 21:22:37][SCENARIO] Exécution du sous-élément de type [action] : code
[2019-06-25 21:22:37][SCENARIO] Exécution d'un bloc code
[2019-06-25 21:22:37][SCENARIO] 52.00
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-24 04:00:00 valeur : 68
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-24 05:00:00 valeur : 67
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-24 06:00:00 valeur : 66
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-24 07:00:00 valeur : 65
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-24 08:00:00 valeur : 65
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-24 09:00:00 valeur : 63
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-24 10:00:00 valeur : 60
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-24 11:00:00 valeur : 59
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-24 12:00:00 valeur : 59
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-24 13:00:00 valeur : 58
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-24 14:00:00 valeur : 58
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-24 15:00:00 valeur : 56
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-24 16:00:00 valeur : 56
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-24 17:00:00 valeur : 57
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-24 18:00:00 valeur : 61
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-24 19:00:00 valeur : 59
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-24 20:00:00 valeur : 67
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-24 21:00:00 valeur : 71
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-24 22:00:00 valeur : 65
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-24 23:00:00 valeur : 67
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 00:00:00 valeur : 66
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 01:00:00 valeur : 64
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 02:00:00 valeur : 64
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 03:00:00 valeur : 63
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 03:55:00 valeur : 62.78125
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 04:00:00 valeur : 62.015625
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 04:05:00 valeur : 62.96875
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 04:10:00 valeur : 63
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 04:15:00 valeur : 63
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 04:20:00 valeur : 62.25
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 04:25:00 valeur : 63
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 04:30:00 valeur : 63
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 04:35:00 valeur : 62.875
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 04:40:00 valeur : 62.140625
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 04:45:00 valeur : 62
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 04:50:00 valeur : 62
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 04:55:00 valeur : 62
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 05:00:00 valeur : 62
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 05:05:00 valeur : 62
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 05:10:00 valeur : 62
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 05:15:00 valeur : 62.5
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 05:20:00 valeur : 63
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 05:25:00 valeur : 63
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 05:30:00 valeur : 63
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 05:35:00 valeur : 63
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 05:40:00 valeur : 63
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 05:45:00 valeur : 63
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 05:50:00 valeur : 62.0625
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 05:55:00 valeur : 62
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 06:00:00 valeur : 62
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 06:05:00 valeur : 62
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 06:10:00 valeur : 62
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 06:15:00 valeur : 62
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 06:20:00 valeur : 62
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 06:25:00 valeur : 62
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 06:30:00 valeur : 61.8125
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 06:35:00 valeur : 62
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 06:40:00 valeur : 61.03125
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 06:45:00 valeur : 61
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 06:50:00 valeur : 61
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 06:55:00 valeur : 61
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 07:00:00 valeur : 61
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 07:05:00 valeur : 60
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 07:10:00 valeur : 60.984375
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 07:15:00 valeur : 61
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 07:20:00 valeur : 60.5
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 07:25:00 valeur : 60
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 07:30:00 valeur : 60
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 07:35:00 valeur : 59.0078125
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 07:40:00 valeur : 58.5
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 07:45:00 valeur : 58
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 07:50:00 valeur : 57.25
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 07:55:00 valeur : 57
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 08:00:00 valeur : 57
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 08:05:00 valeur : 56.125
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 08:10:00 valeur : 56
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 08:15:00 valeur : 56
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 08:20:00 valeur : 55.0078125
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 08:25:00 valeur : 55
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 08:30:00 valeur : 55
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 08:35:00 valeur : 55
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 08:40:00 valeur : 54.015625
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 08:45:00 valeur : 53.5
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 08:50:00 valeur : 53
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 08:55:00 valeur : 52.5
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 09:00:00 valeur : 52
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 09:05:00 valeur : 59.25
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 09:10:00 valeur : 66.25
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 09:15:00 valeur : 72.828125
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 09:20:00 valeur : 65.21875
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 09:25:00 valeur : 60.1328125
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 09:30:00 valeur : 60.0625
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 09:35:00 valeur : 60
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 09:40:00 valeur : 60
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 09:45:00 valeur : 59.125
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 09:50:00 valeur : 58.015625
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 09:55:00 valeur : 57.5
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 10:00:00 valeur : 57
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 10:05:00 valeur : 57
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 10:10:00 valeur : 56.5
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 10:15:00 valeur : 56
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 10:20:00 valeur : 56
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 10:25:00 valeur : 55.03125
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 10:30:00 valeur : 55
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 10:35:00 valeur : 55.015625
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 10:40:00 valeur : 56.71875
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 10:45:00 valeur : 56.9375
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 10:50:00 valeur : 56.25
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 10:55:00 valeur : 56.5
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 11:00:00 valeur : 57
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 11:05:00 valeur : 56.3125
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 11:10:00 valeur : 56
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 11:15:00 valeur : 56
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 11:20:00 valeur : 56
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 11:25:00 valeur : 56
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 11:30:00 valeur : 56
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 11:35:00 valeur : 56
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 11:40:00 valeur : 56
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 11:45:00 valeur : 55.015625
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 11:50:00 valeur : 54
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 11:55:00 valeur : 53.5
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 12:00:00 valeur : 53.875
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 12:05:00 valeur : 53.90625
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 12:10:00 valeur : 53.015625
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 12:15:00 valeur : 53.984375
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 12:20:00 valeur : 54
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 12:25:00 valeur : 54
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 12:30:00 valeur : 54
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 12:35:00 valeur : 54
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 12:40:00 valeur : 54
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 12:45:00 valeur : 53.0625
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 12:50:00 valeur : 53.96875
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 12:55:00 valeur : 54
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 13:00:00 valeur : 54
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 13:05:00 valeur : 54
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 13:10:00 valeur : 54
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 13:15:00 valeur : 54
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 13:20:00 valeur : 54
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 13:25:00 valeur : 54
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 13:30:00 valeur : 54
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 13:35:00 valeur : 54
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 13:40:00 valeur : 54
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 13:45:00 valeur : 54
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 13:50:00 valeur : 54
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 13:55:00 valeur : 54
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 14:00:00 valeur : 54
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 14:05:00 valeur : 54.25
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 14:10:00 valeur : 54.21875
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 14:15:00 valeur : 54.9375
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 14:20:00 valeur : 54.875
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 14:25:00 valeur : 55
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 14:30:00 valeur : 54.75
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 14:35:00 valeur : 54.03125
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 14:40:00 valeur : 54.875
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 14:45:00 valeur : 55
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 14:50:00 valeur : 55
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 14:55:00 valeur : 55
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 15:00:00 valeur : 55
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 15:05:00 valeur : 55
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 15:10:00 valeur : 55
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 15:15:00 valeur : 55
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 15:20:00 valeur : 55
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 15:25:00 valeur : 55
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 15:30:00 valeur : 55
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 15:35:00 valeur : 54.125
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 15:40:00 valeur : 54
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 15:45:00 valeur : 54
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 15:50:00 valeur : 54
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 15:55:00 valeur : 54
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 16:00:00 valeur : 54
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 16:05:00 valeur : 54
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 16:10:00 valeur : 53.015625
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 16:15:00 valeur : 53
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 16:20:00 valeur : 53
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 16:25:00 valeur : 53
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 16:30:00 valeur : 53
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 16:35:00 valeur : 53
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 16:40:00 valeur : 54
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 16:45:00 valeur : 54
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 16:50:00 valeur : 54
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 16:55:00 valeur : 54
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 17:00:00 valeur : 54
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 17:05:00 valeur : 54
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 17:10:00 valeur : 54
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 17:15:00 valeur : 55
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 17:20:00 valeur : 55
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 17:25:00 valeur : 55
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 17:30:00 valeur : 55
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 17:35:00 valeur : 55.96875
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 17:40:00 valeur : 56
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 17:45:00 valeur : 56
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 17:50:00 valeur : 56
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 17:55:00 valeur : 56
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 18:00:00 valeur : 56
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 18:05:00 valeur : 56
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 18:10:00 valeur : 56
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 18:15:00 valeur : 56
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 18:20:00 valeur : 56
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 18:25:00 valeur : 55.25
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 18:30:00 valeur : 55
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 18:35:00 valeur : 55
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 18:40:00 valeur : 55
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 18:45:00 valeur : 55
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 18:50:00 valeur : 55
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 18:55:00 valeur : 56
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 19:00:00 valeur : 56
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 19:05:00 valeur : 56
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 19:10:00 valeur : 56
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 19:15:00 valeur : 56
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 19:20:00 valeur : 56
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 19:25:00 valeur : 56
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 19:30:00 valeur : 56
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 19:35:00 valeur : 56
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 19:40:00 valeur : 56.984375
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 19:45:00 valeur : 56.25
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 19:50:00 valeur : 56
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 19:55:00 valeur : 56
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 20:00:00 valeur : 56
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 20:05:00 valeur : 56
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 20:10:00 valeur : 56.125
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 20:15:00 valeur : 57
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 20:20:00 valeur : 57
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 20:25:00 valeur : 57
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 20:30:00 valeur : 57
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 20:35:00 valeur : 57
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 20:40:00 valeur : 57
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 20:45:00 valeur : 57
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 20:50:00 valeur : 57
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 20:55:00 valeur : 57
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 21:00:00 valeur : 57
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 21:05:00 valeur : 57
[2019-06-25 21:22:37][SCENARIO] date : 2019-06-25 21:10:00 valeur : 57
[2019-06-25 21:22:37][SCENARIO] Fin correcte du scénario

en allant sur la base de donnée via configuration jeedom v3.3
il y a vérification et corrigé, je ne sais pas si ça fera quoi que se soit !

benj29
Actif
Messages : 3983
Inscription : 26 mars 2017, 09:57
Contact :

Re: [Script] Récupérer la production de ses panneaux PV (APS / Altenergy Power System)

Message par benj29 » 25 juin 2019, 22:47

Je me demande si cela ne vient pas du fait que j'ai réinjecte chaque 5min toutes les valeurs.
Peut être me faut il tester si la valeur est déjà présente en temps et en valeur en bdd et ne pas toutes les réinjecter. On peut faire ça simplement ?
J'essaie de regarder demain ton scénario. Merci pour ton aide

Envoyé de mon JSN-L21 en utilisant Tapatalk


benj29
Actif
Messages : 3983
Inscription : 26 mars 2017, 09:57
Contact :

Re: [Script] Récupérer la production de ses panneaux PV (APS / Altenergy Power System)

Message par benj29 » 26 juin 2019, 11:43

OK, je te confirme qu'il n'y a plus aucune donnée dans la DB sur cet ID alors que la fonction tourne de l'autre côté.
Comme si l'info virtuelle était "bloquée".

Image

Dernière donnée à 11h55 le 23.

Cela colle avec le graphique donc.

Image

J'ai tenté un réparer par l'interface ou autre NADA.

Je vais recréer un nouveau virtuel où je vais copier les données et lui affecter le bon ID et voir si OK.
par contre faut que je change mon scénario pour ne pas pousser toutes les valeurs mais uniquement celles qui ne sont pas déjà présentes en DB.
Comme ça je pourrais gérer du push côté serveur de plusieurs valeurs d'un coup.

Répondre

Revenir vers « [Plugin officiel] Scripts »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 4 invités