Table counterCalendar

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
knasson
Messages : 245
Inscription : 26 mars 2021, 08:59

Table counterCalendar

Message par knasson »

Bonsoir,
Je commence à essayer de manipuler des données qui proviennent de mes compteurs.
Les données qui m'intéressent sont les consommations journalières.Elles sont bien enregistrées sur les graphiques.Je sais accéder aux valeurs instantanées de mes compteurs en script LUA, mais je ne sais pas accéder aux valeurs journalières qui sont enregistrées dans la table counterCalendar.
Comment puis faire?
Pièces jointes
Screenshot_20210408-230959.jpg
Screenshot_20210408-230959.jpg (503.01 Kio) Consulté 3347 fois
denis_brasseur
Messages : 898
Inscription : 24 déc. 2018, 17:05
Localisation : (26)

Re: Table counterCalendar

Message par denis_brasseur »

Bonjour knasson, et bienvenue sur ce forum.
depuis l'API JSON, tu peux accéder aux historiques de tes devices, dont tes sondes de température.

https://www.domoticz.com/wiki/Domoticz_ ... perature_2
Temperature
/json.htm?type=graph&sensor=temp&idx=IDX&range=day
/json.htm?type=graph&sensor=temp&idx=IDX&range=month
/json.htm?type=graph&sensor=temp&idx=IDX&range=year
/json.htm?type=graph&sensor=temp&idx=IDX&range=year&actyear=YYYY
https://easydomoticz.com/traduction-fra ... istoriques
Historiques
On affiche gràce à ces instructions l’historique des capteurs. Allumages, extinctions avec les dates pour les switches, températures et dates pour les autres.

IDX = idx de votre capteur. A obtenir depuis l’écran des dispositifs.

Tempèratures
/json.htm?type=graph&sensor=temp&idx=IDX&range=day
/json.htm?type=graph&sensor=temp&idx=IDX&range=month
/json.htm?type=graph&sensor=temp&idx=IDX&range=year
Exemple avec month
// 20210409054124
// 192.168.1.106:8060/json.htm?type=graph&sensor=temp&idx=2889&range=month

{
"result": [
{
"d": "2021-03-09",
"ta": -20.829999999999998,
"te": -9.0999999999999996,
"tm": -24.0
},
{
"d": "2021-03-10",
"ta": -20.239999999999998,
"te": -8.5999999999999996,
"tm": -22.600000000000001
},
Exemple aavec day :
/ 20210409055459
//192.168.1.106:8060/json.htm?type=graph&sensor=temp&idx=2889&range=day

{
"result": [
{
"d": "2021-04-04 05:50",
"te": -20.199999999999999
},
{
"d": "2021-04-04 05:55",
"te": -20.100000000000001
},
Ne reste plus qu'a exploiter ensuite ces données, ce qui n'est pas le plus facile.
Pi3 + DD PiDrive - RFXtrx433 - AEON Labs ZW090
knasson
Messages : 245
Inscription : 26 mars 2021, 08:59

Re: Table counterCalendar

Message par knasson »

Merci, donc ca me permet d'accéder aux données en particulier celles du mois qui me donne les cumuls journaliers,
voila ce que j'obtiens, mais la valeur que je veux utiliser c'est la 3ieme "v" comment l'extraire de ces résultats?
est ce que ces requêtes JSON sont intégrables dans un script LUA ? ou faut il passer par python ou bash?
Pièces jointes
Capture d’écran 2021-04-09 090924.jpg
Capture d’écran 2021-04-09 090924.jpg (88.24 Kio) Consulté 3316 fois
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Table counterCalendar

Message par Keros »

Tu peux intégrer les information JSON en lua sans difficultés.
Tu as un exemple dans mon tuto sur OpenWeattherMap (lien en signature) : les infos des API Météo sont en JSON.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
knasson
Messages : 245
Inscription : 26 mars 2021, 08:59

Re: Table counterCalendar

Message par knasson »

salut keros,

j'ai bien étudié ton tuto et autres info en particulier
lorsque je tape http://192.168.1.38:8080/json.htm?type=devices&ridx=9
dans mon navigateur je reçois en retour tout les devices de mon domoticz et pas seulement les paramètres de mon device (idx=9),
du coup je ne vois pas comment extraire ma variable car j'ai plusieurs fois le même nom de variable dans plusieurs devices.

Merci de tes éclairages,

bonne soirée..

Jean-Claude
.
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Table counterCalendar

Message par Keros »

D'après la documentation, je pense que ton erreur vient de la fin de ton url.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
denis_brasseur
Messages : 898
Inscription : 24 déc. 2018, 17:05
Localisation : (26)

Re: Table counterCalendar

Message par denis_brasseur »

Et plus précisément de ridx
/json.htm?type=devices&rid=IDX
Pi3 + DD PiDrive - RFXtrx433 - AEON Labs ZW090
knasson
Messages : 245
Inscription : 26 mars 2021, 08:59

Re: tarifs EDF

Message par knasson »

bon je rentre dans le vif:
je veux récupérer la dernière valeur V: qui se trouve là..
http://raspberrypi:8080/json.htm?type=g ... ange=month
ca donne ca;

Code : Tout sélectionner

{
ValueQuantity: "",
ValueUnits: "",
counter: "4096.038",
result: [
{
c: "3905.098",
d: "2021-03-31",
v: "15.700"
},
{
c: "3920.732",
d: "2021-04-01",
v: "16.200"
},
{
c: "3936.903",
d: "2021-04-02",
v: "14.800"
},
{
c: "3951.731",
d: "2021-04-03",
v: "15.700"
},
{
c: "3967.431",
d: "2021-04-04",
v: "16.988"
},
{
c: "3984.419",
d: "2021-04-05",
v: "15.734"
},
{
c: "4000.153",
d: "2021-04-06",
v: "15.187"
},
{
c: "4015.340",
d: "2021-04-07",
v: "16.341"
},
{
c: "4031.681",
d: "2021-04-08",
v: "17.807"
},
{
c: "4048.488",
d: "2021-04-09",
v: "18.703"
},
{
c: "4067.191",
d: "2021-04-10",
v: "6.707"
},
{
c: "4073.898",
d: "2021-04-11",
v: "12.075"
},
{
c: "4085.973",
d: "2021-04-12",
v: "10.065"
}
],
status: "OK",
title: "Graph counter month"
}
voici ce que j'ai écrit mais le cumul_jour est vide

Code : Tout sélectionner

json = (loadfile "/home/kan/domoticz/scripts/lua/JSON.lua")()
commandArray = {}

curl='/usr/bin/curl -m 15 '
config= assert(io.popen (curl.."http://raspberrypi:8080/json.htm?type=graph&sens$
blocjson = config:read ('*all')
config:close()
jsonValeur = json:decode(blocjson)
cumul_jour = jsonValeur.v
msg = 'le cumul production du jour est'..cumul_jour..'kWh'
print (msg)
return commandArray
quel pourrait être le bon code lua d'extraction de cette valeur?
Dernière modification par knasson le 13 avr. 2021, 08:48, modifié 2 fois.
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Table counterCalendar

Message par Keros »

Je viens de déplacer ton message pour continuer l'autre sujet.

Le principe de ce forum est de s'entraider. Si tu rencontres des problèmes avec ton script, mets les nous. On t'aidera à avancer. Nous sommes tous des bénévoles et nous faisons cela sur notre temps libre. Nous ne sommes pas un SAV.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
knasson
Messages : 245
Inscription : 26 mars 2021, 08:59

Re: Table counterCalendar

Message par knasson »

Je ne sais pas ce qui te laisse penser que je prends le forum pour un SAV???
C'est clair qu'en ce moment vu que je débarque, je suis davantage demandeur que fournisseur.
Donc la il s'agit de mon premier script LUA basé sur des modèles que tu as fournis dans ton tuto.
Mais l'adaptation que j'en faite ne fonctionne pas puisque la valeur est vide.
C'est pourquoi je demande de l'aide mais j'ai conscience d'avoir encore beaucoup a Apprendre.
Répondre