Script Véolia

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 <\>.
itcitc77
Messages : 73
Inscription : 30 mai 2016, 06:17

Re: Script Véolia

Message par itcitc77 »

Domoticz, CustomPage,
Pi3 RFXCom + Razberry;Z-Stick Gen5
zaraki673
Messages : 229
Inscription : 07 oct. 2016, 04:29

Re: Script Véolia

Message par zaraki673 »

Ouais je regarde ça et corrige ça rapidos
Mici :D
zaraki673
Messages : 229
Inscription : 07 oct. 2016, 04:29

Re: Script Véolia

Message par zaraki673 »

J ai modifié le script mais ça resoid pas le problème, juste une erreur sur la valeur a injecté dans domoticz, par contre bien vérifier dans les paramètres que l on divise bien par 1000
Je posterais un screen des que possible

Au pire je regarderais pour l injection SQL bien que ça ne me plaise pas
itcitc77
Messages : 73
Inscription : 30 mai 2016, 06:17

Re: Script Véolia

Message par itcitc77 »

oky merci de ton investissement
Domoticz, CustomPage,
Pi3 RFXCom + Razberry;Z-Stick Gen5
domcars0
Messages : 238
Inscription : 18 févr. 2017, 20:23

Re: Script Véolia

Message par domcars0 »

Salut,
Je pense que cet algo ne fonctionne pas comme il faut :

Code : Tout sélectionner

for idx, cell_obj in enumerate(row):
      cell_type_str = ctype_text.get(cell_obj.ctype, 'unknown type')
      if idx == 2:
         volume = int(cell_obj.value)
         urldom = 'http://'+domoticzserver+'/json.htm?type=command&param=udevice&idx='+Idx+'&svalue='+str(volume)+''
         url.call(urldom)
Il me semble donc que pour chaque ligne d'excell cela fait un insertion dans la table Meter (table journalière!) du device Idx!! Sans aucune indication de la date (enfin si la date et l'heure sont celle du jour et de l'heure de la commande json :o(
Avec les données fournies par Veolia , à mon avis, l'injection dans la BdD est obligatoire (avec transaction pour ne pas rentrer en conflit avec domoticz lui même) car on remplit la table Meter_Calendar (et pas Meter) où la date est alors renseignée.
La liberté a un prix... celui de l'effort.
zaraki673
Messages : 229
Inscription : 07 oct. 2016, 04:29

Re: Script Véolia

Message par zaraki673 »

Bonjour,

Normalement je n injecte que la dernière valeur du tableau fourni par Veolia,

Code : Tout sélectionner

last_rows = sheet.nrows
row = sheet.row(last_rows-1)
avant de lire la ligne, du coup je selectionne que cette dernière ligne :D

Après j ai résolu le problème de données, il faut lui injecter le relevé du compteur Domoticz calcul automatiquement le nombre de litre consommé depuis le dernier relevé ... J'ai mis à jour mon script,

Code : Tout sélectionner

if idx == 2:
remplacer par :

Code : Tout sélectionner

if idx == 1:
je lis la colonne 2 du tableau, celle de l index compteur

Pour les captures d écran supplémentaires je ferais ça ce soir, depuis un tel c est pas évident :D

PS @domcars0 l injection SQL j aime pas, on a une API faut l utiliser le plus possible ça garantie une meilleur compatibilité/stabilité, à mon avis, après oui je vérifie pas la date, pour le moment, j ai retravaillé le script de départ pour le passer en python3 pour le rendre compatible avec le plugin manager en cours de dev, la je vérifie la dernière valeur saisi pour ne pas avoir de doublon ;)

Edit : bon , voila j ai ajouter une capture pour le paramétrages du diviseurs, maintenant plus qu'à voir demain la maj du compteur, mais y a pas de raison cette fois :D
zaraki673
Messages : 229
Inscription : 07 oct. 2016, 04:29

Re: Script Véolia

Message par zaraki673 »

Bon ben c'est bon de mon coté suite à la maj du script, la version plugin est quasi-prete, juste un petit problème avec le heartbeat qui est trop régulier du coup j'interroge le site trop souvent :( mais je ne mets à jour que si la valeur change.

Ah et juste penser qu'il y a un decalage de 2jours entre domoticz et veolia :D
domcars0
Messages : 238
Inscription : 18 févr. 2017, 20:23

Re: Script Véolia

Message par domcars0 »

zaraki673 a écrit : Ah et juste penser qu'il y a un decalage de 2jours entre domoticz et veolia :D
Oui, effectivement, si tu es prêt à accepter que la date indiquée par domoticz pour la Conso soit fausse, alors on peut utiliser l'API. Mais sinon, l'API n'etant pas prévue (à ma connaissance) pour injecter une information pour une date donnée, le passage par SQL est, me semble t'il, obligatoire.
Sinon, je suis tout à fait d'accord avec toi, il faut toujours utiliser une API, quand elle est disponible.
La liberté a un prix... celui de l'effort.
zaraki673
Messages : 229
Inscription : 07 oct. 2016, 04:29

Re: Script Véolia

Message par zaraki673 »

Vi vi tout à fait l api n'est pas prévu pour ça, peut être un jour ...
Mais j espères plus que véolia nous fournisse un jour les données en temps réel (j'ai de l'espoir je sais :D) ou que quelqu'un trouves comment récupérer les trames transmises par nos compteurs ...
En attendant je ferais avec ces deux jours de décalage, ca me suffit (surtout que j'ai au autre compteur simple a domotisés grace au tuto de js-martin ) après si y a de la demandes pour de l injection SQL pour avoir les infos à la bonne date je regarderais ça (y a des exemples existants déjà a adapté pour véolia IDF)

;)
Starnight
Messages : 65
Inscription : 20 déc. 2016, 10:54

Re: Script Véolia

Message par Starnight »

Désolé de vous poser une question qui va peut etre vous paraitre bete mais quel est al code à mettre pour que le script se lance tout seul tous les jours ? Impossible de trouver comment lancer un script python3. Merci pour vos lumieres !
Et est il possible d'avoir le nombre de litres consommés par jour plutot que l'index de consommation ?
Répondre