Ajouter des valeurs dans l'historique pour des dates données

Bonjour,

Je me lance dans la création d’un script pour récuperer les infos de production de mes panneaux solaires depuis l’api de APSystem.
Je voudrais pouvoir ajouter mes valeurs de production existantes qui sont sur APSystem dans jeedom.

J’ai donc mon script qui me renvoi les valeurs de productions pour une date donnée.
J’ai un virtuel qui va me servir pour l’historisation de ces valeurs.
Si je commence maintenant je vais avoir les infos à partir d’aujourd’hui.
Je voudrais pouvoir créer dans l’historique les valeurs pour 2019 (soit via un scenario, soit via un script php, soit …).
Je n’ai pas trouvé comment dire a jeedom de créer une entrée dans l’historique pour la date/heure X pour la commande Y. Ou un import d’un json/csv.

J’espère avoir été clair.
merci d’avance,
OvO

Tu peut tenter un truc comme çà:

$cmd = cmd::byId(2252);
$cmd->addHistoryValue(121, '2019-10-26 11:05:00');
3 « J'aime »

cool ca kiboost

Merci je vais tenter :slight_smile:

Bonjour à tous,
@ovomaltin, j’ai une installation PV en autoconsommation avec une passerelle ECU-R et un compte EMA.
De quelle façon récupères tu tes informations de production ? directement dans la passerelle ou dans le cloud ?
A priori @benj29 a réussi à faire des choses ([Script] Récupérer la production de ses panneaux PV (APS / Altenergy Power System) - Page 5 - Forum Communauté Jeedom), mais c’est un peu compliqué pour moi …
De mon côté, je sèche, mais j’ai l’impression que je vais trouver des sachants par ici :wink:
Merci d’avance !
Claude

Bonjour,

Ce que j’ai fait marche parfaitement.
Soit push depuis l’API du serveur d’APS donc depuis le web, rien n’est en local.
Soit compteur pulse dédié depuis le boitier électrique du PV, donc en local.

Bonjour,
Désolé, je n’avais pas vu le message.
Je n’ai pas de serveur web sur ma passerelle, je vais procéder avec des tores.
J’espérais pouvoir récupérer directement l’information, mais ensuite je me suis souvenue que les infos n’étaient remontés que toutes les 5 min…
Merci pour la réponse
Cdt
Claude

Bonjour @kiboost,
Désolé si ma question semble bête mais ton code (tes 2 lignes) tu l’exécutes comment ?
Dans un scénario, code ?

Je souhaiterai renseigner un historique sur un virtuel avec la date et je ne sais comment faire !
Il me semblait qu’on pouvait le faire manuellement à partir du menu historique de jeedom mais je ne trouve pas :roll_eyes:

Testé ce jour et marche impec. :ok_hand:

Bloc code dans un scénario. Récupère bien le bon id de ton virtuel que tu veux compléter au niveau historique.

1 « J'aime »

Il y a aussi, maintenant, le plugin-dataexport qui permet d’importer des fichiers csv dans l’historique.

1 « J'aime »

Bonsoir,
Excusez moi pour le déterrage de sujet.
J’aimerai savoir comment ajouter une valeur sur une période de XXhXX à XXhXX ?

Merci par avance.
Mathieu

Bonjour @OUARZA,
C’est un peu vague comme question car ca va dépendre de l’interval…

Un truc dans ce genre la dans du code d’un scenario:

endDateStr = '2020-01-29';
$endDateClearHistoryStr = '2020-01-26';
$begin = new DateTime('2020-01-28');
$end = new DateTime($endDateStr);

$interval = DateInterval::createFromDateString('1 day');
$period = new DatePeriod($begin, $interval, $end);

$cmd = cmd::byId(XXX);

foreach ($period as $dt) {
                 // ton code pour assigner $valeur
                  $time =$dt->format("Y-m-d HH:MM:SS") ;
		  $cmd->addHistoryValue($valeur $time);          
}

A toi de voir pour la période et les intervalles.

OvO

1 « J'aime »

Merci beaucoup :slight_smile: