Page 1 sur 3

un widget qui affiche le nombre de litres consommés par heure...

Publié : 20 mai 2024, 20:02
par marcus_54
Bonjour
J'ai bien galéré pour réussir à l'aide d'un raspberry pi à lire mon compteur connecté 868Mhz et l'envoyer via MQTT.

Ça fonctionne, j'ai la valeur de mon compteur qui apparaît dans un widget sous la forme 29.42 m3

Comment je pourrai faire pour avoir un widget qui affiche le nombre de litres consommés par heure, par jour, par semaine et pas simplement la valeur du compteur avec sa courbe qui va qu'augmenter ?

le brocker m'envoie in={"idx":1136,"svalue":"29.42"}

merci

Re: un widget qui affiche le nombre de litres consommés par heure...

Publié : 20 mai 2024, 20:50
par Keros
Tu pourrais nous donner des infos sur le compteur connecté que tu utilises ?

Qu'est-ce qu'il envoie comme infos ? La consommation totale ? Il est capable d'envoyer la conso instantanée ? Peut-être une impulsion dès qu'un litre est consommé.

Si on fait l'analogie avec les widgets électriques, il faudrait un widget de type Général kwh. Tu pourrais avoir les consommations par heures / jours / mois / années.

Re: un widget qui affiche le nombre de litres consommés par heure...

Publié : 21 mai 2024, 09:10
par marcus_54
Le compteur en lui-même a été changé, c'est un compteur tout à fait classique, néanmoins ils ont adjoint une tête radio de la marque IZAR sa référence est IZAR RC 868 I

Cette tête radio empêche la lecture de la roue d'une façon optique comme j'avais pu le faire précédemment et obtenir une consommation d'eau sur mon ancien compteur.

Au lieu de ça, il y a une communication RF à 868MHz en partie chiffrée qui est émise toutes les minutes environ.
Le contenu de la trame une fois décodé et le suivant :
{"media":"water","meter":"dme_07","name":"watermeter","id":"24709388","total_m3":29.112,"status":"OK","timestamp":"2024-05-18T19:27:22Z","device":"rtlwmbus[00000001]","rssi_dbm":58}

On voit que la seule information vraiment intéressante est le total_m3 qui est dans ma trame à 29. 112.
Auto Generated Inline Image 1.png
Auto Generated Inline Image 1.png (429.43 Kio) Consulté 4820 fois

Re: un widget qui affiche le nombre de litres consommés par heure...

Publié : 21 mai 2024, 12:36
par Keros
Je ne suis pas surpris qu'il n'y ait que la consommation totale puisque cette communication sert au relevé du compteur.

Tu peux encore faire ce que tu souhaites mais il faut passer par un calcul pour déterminer ce qui a été consommé entre deux transmissions de donnée. Tu pourras ensuite mettre la valeur calculée dans un widget.

Re: un widget qui affiche le nombre de litres consommés par heure...

Publié : 21 mai 2024, 12:43
par marcus_54
C'est dommage qu'il n'y ait pas un widget qui puisse le faire comme le compteur d'énergie (il prend le relevé total à intervalles réguliers pour comptabiliser la consommation)
En ce qui me concerne, je suis incapable de faire un programme qui permet de réaliser cette opération ☹

Re: un widget qui affiche le nombre de litres consommés par heure...

Publié : 21 mai 2024, 14:06
par lost
marcus_54 a écrit : 21 mai 2024, 12:43 C'est dommage qu'il n'y ait pas un widget qui puisse le faire comme le compteur d'énergie
Il devrait y avoir moyen d'avoir au moins les consos journalières en plus du total sans trop programmer, le compteur simple pouvant a priori servir à tout selon l'unité sélectionnée:
https://www.domoticz.com/wiki/Domoticz_ ... 's#Counter

Maintenant, il faudra quand même scripter un peu pour extraire la valeur de m3 total dans ce qui est récupéré et alimenter un compteur virtuel (les device virtuels sont une fonctionnalité très appréciable de Domoticz) avec. Si le compteur physique est assez "verbeux", ne pas forcément envoyer les MAJ toutes les minutes à chaque trame recue non plus (de toutes manières, Domoticz n'échantillonnera qu'une valeur par tranche de 5mn en BDD). Ne le faire que si le last_update du compteur virtuel est >= 10mn par exemple, c'est largement suffisant et au dessus des 5mn d'échantillonnage ci dessus, donc toute valeur envoyée au compteur par le script sera conservée en BDD.

C'est pas toutes les heures mais mieux que rien et l'occasion de se lancer dans les scripts Lua/DzVent: Il y a énormément d'exemples à rechercher en ligne pour s'inspirer/aider.

Re: un widget qui affiche le nombre de litres consommés par heure...

Publié : 21 mai 2024, 18:09
par Keros
DomoticZ dispose de plusieurs widgets possibles qui peuvent être mis à jour :
  • à chaque unité consommée (comptage d'impulsions)
  • en fonction de la consommation instantanée
Et c'est DomoticZ qui se charge de faire la somme / le total.

Dans ton cas, c'est l'inverse. Je crois que tu es le premier que je vois avec ce besoin "inverse" en 5 ans sur le forum. À mon sens, ce n'est pas super compliqué de faire le script. Tu peux regarder les petits guides que j'ai écrits (lien dans ma signature).

L'idée est assez simple :

À l'instant X (première mise à jour de l'objet) :
  • J'enregistre la valeur dans une variable.
À l'instant X +1 (seconde mise à jour de l'objet) :
  • Je compare la valeur actuelle à celle enregistrée en X
  • Je pousse la comparaison dans un widget virtuel
  • Je réenregistre par-dessus la valeur de la variable avec la dernière
Et ainsi de suite...

Re: un widget qui affiche le nombre de litres consommés par heure...

Publié : 21 mai 2024, 20:13
par marcus_54
Bon le seul langage où je suis un poil à l'aise et encore ça sera le blocky (mais sur domoticz ça craint :shock: )

J'ai créé 2 widgets dummy
un qui s'appelle "compteur eau" idx1136 qui récupère la valeur totale 29.5m3
l'autre qui s'appelle "consommation eau" idx1137 qui serait plutôt du genre compteur incrémental.

le script blocky sera déclenché par les devices

Si le compteur d'eau à une valeur plus grande que la variable "eau actuel" idx13
j'enregistre la nouvelle valeur dans la variable et j'envoie vers mon widget "consommation eau" que je n’ai pas trouvé dans la liste des devices :? (c'est "Alarme Activation")
Éventuellement ,si ça ne fonctionne pas bien, faire la soustraction entre l'ancienne valeur et l'actuel par contre dans blocky je n’ai pas trouvé les opérations mathématiques :(

Re: un widget qui affiche le nombre de litres consommés par heure...

Publié : 21 mai 2024, 22:01
par Keros
Le langage graphique ne te permettra pas de réaliser ce que tu souhaites.
Avec le blocky, tu as déjà compris le principe de programmation* : je pense que si tu y vas doucement, tu es capable de comprendre qu'en fait, le blocky que tu utilises peut aussi s'écrire avec du texte. Il y a des lignes de code qui sont l'équivalence des briques graphiques.
Je pense que tu as fait le plus dur en sachant utiliser le Blocky. Disons que le code est un moyen de l'écrire différemment.

Re: un widget qui affiche le nombre de litres consommés par heure...

Publié : 22 mai 2024, 00:53
par Flying Domotic
Il suffit de créer un widget de type "compteur", et de lui donner le type "eau".

Ca donne ça :
Sans titre.png
Sans titre.png (24.62 Kio) Consulté 4769 fois