Bonjour à tous,
j’ai passé un peu de temps à contruire un module permettant de relever moi même mon compteur d’eau EverBlue Cyble (marque Itron ) et je voulais vous partager le mode opératoire en details.
Premièrement je dois dire que tout est déjà très bien expliqué sur ce cite : www.lamaisonsimon.fr et donc un grand merci à tous les contributeurs pour leur precieuses recherches.
Dans le passé j’habitais une maison ou le compteur était relevé 1 fois par jour automatiquement par Suez et les informations partagées sur leur site. J’avais à l’époque créé un script permettant de collecter ces information et les ajouter directement dans domoticz. Il semble que suez et mis a jour son portail et que la connexion via script ne soit plus possible… Quand à une eventuelle API il faut pas trop y compter je pense…
Où j’habites actuelemnt le service des eaux a mis en place des compteurs de même type (permettant le télé-relevé) mais le relevé ne se fait que 2 fois pas an par un technicien.
En cherchant sur internet je suis tombé sur le site lamaisonsimon.fr qui detaille comment avec un petit recepteur compteur d’eau 433Mhz (~10€) et un Raspberry PI Zero (~9€). Donc pour moins de 20€ et un peu de temps vous allez pouvoir ajouter dans domoticz la valeur journaliere de votre compteur d’eau.
Composants :
- Un recepteur Sans Fil Module CC1101 par exemple (ex lien 1)
- Un Raspberry PI Zero ou autre modèle
Cablage :
Il faut connecter le CC1101 sur la Raspberry comme suit :
Configuration du Raspberry :
Sur votre Raspberry vous devez avoir installé ksh, si ce n’est pas le cas : :
sudo apt-get update sudo apt-get install ksh
Puis :
cd /home/pi/ git clone https://github.com/Sirus10/consoEAU.git cd consoEAU chmod +x get_water.sh
Il faut ensuite modifier le fichier cc1101.c ligne 672 modifier les XXXXX comme indiqué par le numéro de compteur :
// replace XXXXXXX with the servia of our device YY-XXXXXXX-ZZZ // If the serial XXXXXXX start with a 0 remove it. // Ex 20-0123456-987 -> replace XXXXXXX below with 123456 TS_len_u8=Make_Radian_Master_req(txbuffer, 17 , XXXXXXX );
Compilez le code :
gcc radian_trx.c -o radian_trx -lwiringPi -lpthread -Wall
Vouc pouvez ignorer les waring suivant lors de la compilation:
Tester et verifiez que vous collectez bien les données (tester au plus près du compteur pour commencer) :
/home/pi/conoEAU/radian_trx raspian radian trx builded:Sep 2 2022 18:02:38 command list : exit:x ;cc1101 version:v; read config : c m:MARCSTATE a:MCSM1_val s:full_status H:scenario de l'outil de releve ! S:scan R:Reset CC1101 puis tapez H
Si la collecte se passe correctement vous deviez avoir un retour dece type :
command list : exit:x ;cc1101 version:v; read config : c m:MARCSTATE a:MCSM1_val s:full_status H:scenario de l'outil de releve ! S:scan R:Reset CC1101 HMARCSTATE : raw:0x13 0x13 free_byte:0x0F sts:0x02 sending 2s WUP... 50 00 00 00 03 FF FF FF FF 64 70 47 00 75 17 44 76 07 71 71 11 00 75 17 02 72 87 05 71 47 00 72 87 01 72 77 3F FF FF 186free_byte:0x0D sts:0x07 MARCSTATE : raw:0x0D 0x0D(RX RX) GDO0! 00 1st synch received rssi=171 lqi=128 F_est=255 MARCSTATE : raw:0x0D 0x0D(RX RX) GDO0! frame received MARCSTATE : raw:0x0D 0x0D(RX RX) GDO0! 00 1st synch received rssi=171 lqi=128 F_est=255 MARCSTATE : raw:0x0D 0x0D(RX RX) GDO0! frame received 0x00,0xFF [puis un long message en hexa] Pour finir par la ligne qui affiche les infos : 2/9/2022 15:6:25 264903litres Num189 113Mois 6h-18h serial:<serial de mon compteur>
Si vous rencontrez des soucis pour collecter des données il faudra peut être ajuster la fréquence du transmeteur. Je vous ferai un arctile sur ce point mais plus tards. Vous avez aussi ces détail sur le wiki de lamaisonsimon.fr. A noter que radian_trx que je vous propose dispode d’une fonction scan (option S voir détail plus tard)…
Une fois que vous obtenez les données de votre compteru, vous pouvez modifier le fichier get_water.sh :
Ajouter l’IP de domoticz (127.0.0.1 ) et remplacer idx=22 par la valeur du compteur dans domoticz :
curl "http://<ip domotique>:8080/json.htm?type=command¶m=udevice&idx=22&svalue=$value"
Enfin ligne 25 remplacer put@your.email par votre adresse email. Vous serez alerté si la collecte n’a pas pu avoir lieu.
echo "Compteur d'eau pas de valeur relevée" | mail -s "Compteur d'eau" put@your.email
Executer en mode test :
./radian_trx puis tapper H
Executer avec ajout de l’information dans Domoticz :
./get_water.sh
Planifier en Crontab :
0 8-17 * * 1-5 /home/pi/consoEAU/get_water.sh >> /tmp/get_water.sh.log
Plus de detail viendrons dans un second tesmp, je voulais juste vous donner quelques piste et ma procedure pas à pas pour permettre de reciuperer dans domoticz les données de votre compteur d’eau.
Bonjour
J’ai un compteur d’eau identique à celui que vous décrivez.
Il est situé au fond d’un regard profond de 2m donc pas de lecture directe et régulière possible.
J’ai découvert deux importantes surconsommations d’eau lors du télé relevé qui a lieu tous les 6 mois et suis depuis longtemps en besoin de trouver un moyen de télé relever moi-même ce compteur.
J’ai lu votre mode opératoire et envisage de le suivre.
Je ne sais pas programmer en Python mais je ne part pas totalement de 0 dans le domaine de la programmation, donc je vais essayer de me lancer.
Ma question porte sur le matériel nécessaire, préalable à cette démarche.
Le Raspberry PI Zero (w ou 2w) est introuvable en stock, sinon à des prix délirants proche de 100€.
Par contre, on trouve encore le Raspberry Pi Nano
https://all3dp.com/2/raspberry-pi-pico-vs-zero-compared/
Bonjour SOAD08,
il semble qu’autour de 10 il soit possible d’en trouver aujourd’hui… Le Pico_W devrait faire l’affaire :
https://www.kubii.fr/cartes-raspberry-pi/3205-raspberry-pi-pico-3272496311589.html#/478-version_pico-pico_w
Manu
Bonsoir,
J’ai fait un commentaire qui a disparu!
Merci pour le partage qui semble un très bonne synthèse des travaux de recherches auxquels vous vous referez.
C’était juste pour vous demandez , compte tenu que le raspi Pico ne peut pas porter Raspbian, comment appliquer ce tuto ?
Merci
Bonjour, tout d’abord merci pour le partage de vos travaux. J’ai suivi vos instruction mais j’ai une erreur de compilation. qu’en pensez vous ?
»
pi@raspberrypi:~/consoEAU $ gcc radian_trx.c -o radian_trx -lwiringPi -lpthread -Wall
In file included from radian_trx.h:97,
from radian_trx.c:5:
cc1101.c: In function ‘scenario_releve’:
cc1101.c:729:8: warning: implicit declaration of function ‘display_meter_cron’; did you mean ‘display_meter_report’? [-Wimplicit-function-declaration]
else display_meter_cron(meter_data,meter_data_size);
^~~~~~~~~~~~~~~~~~
display_meter_report
cc1101.c:668:13: warning: variable ‘TS_len_u8’ set but not used [-Wunused-but-se t-variable]
uint8_t TS_len_u8;
^~~~~~~~~
cc1101.c: At top level:
cc1101.c:756:6: warning: conflicting types for ‘display_meter_cron’
void display_meter_cron (uint8_t *decoded_buffer , uint8_t size)
^~~~~~~~~~~~~~~~~~
cc1101.c:729:8: note: previous implicit declaration of ‘display_meter_cron’ was here
else display_meter_cron(meter_data,meter_data_size);
^~~~~~~~~~~~~~~~~~
pi@raspberrypi:~/consoEAU $
«
Bonjour et desolé de la reponse si tardive vous avez sans doute trouve la solution entre temps…
ce ne sont que des warning. le code devrait fonctionner malgré tout
Manu
Bonjour,
est-il possible, et si oui comment, de configurer des pin different pour le branchement du CC1101?
Merci de votre reponse
Bonjour,
Suite a un scan, je pense avoir trouvé la bonne fréquence (Freq0=71).
Que faut-il modifier exactement dans le fichier cc1101.c pour modifier la bonne fréquence?
En vous remerciant d’avance.
Julien
Je me répond,
La fréquence de base est OK
Par contre, il faut changer aussi l’année du compteur :
// replace XXXXXXX with the servia of our device YY-XXXXXXX-ZZZ
// If the serial XXXXXXX start with a 0 remove it.
// Ex 20-0123456-987 -> replace XXXXXXX below with 123456
TS_len_u8=Make_Radian_Master_req(txbuffer, 17 , XXXXXXX ); // le 17 est a replacer par l’année du compteur (représenté par YY sur la 1er ligne)
Bonjour à tous
En lisant cette page bien documentée j’ai décidé de me lancer.
j’ai fait acquisition d’un Pi zéro et d’un CC1101 868Mhz
Je les ai câblé puis j’ai installé l’ OS Raspberry Pi Legacy disponible dans Pi Imager.
j’ai eu ce message au 1er boot :
[ 43.872858] reboot: Restarting system
[ 52.062927] [342]: Failed to remount ‘/’ read-only: Device or resource busy
[ 52.083086] systemd-shutdown[1]: Failed to finalize file systems, ignoring.
[ 52.186883] reboot: Restarting system
Raspbian GNU/Linux 11 raspberrypi ttyAMA0
Déjà c’est pas sain.
Bref, j’applique la procédure décrite ici et ça marche sauf qu’ au moment de compiler j’ai ce message :
/usr/bin/ld: cannot find -lwiringPi
collect2: error: ld returned 1 exit status
pi@raspberrypi:~/consoEAU$
Et là, vu que je débute je suis bloqué.
A l’aide SVP
Je vous remercie
Bonjour,
Merci pour ce tuto détaillé, le partage est une vraie valeur.
Je recherche un outil pour plus de sobriété dans les energies de ma maison, et cela veut d’abord dire les rendre visibles au quotidien. idéalement un outil comme GEO TRIO (UK seulement) ou homewizard mais qui ne sont pas dispo pour moi ( compteur eau Itron 868mhz, gazpar et edf electromecanique)
L’idée est de mettre un afficheur dans la piece principale, avec un graphique temporel de conso.
Pensez-vous qu’on pourrait élargir votre systeme au gaz et à EDF ?
bonsoir,
Je m’apprête a utiliser le tuto , j’ai lu une réponse a un post que vous envisagiez la possibilité de passer un raspi PICO W.
Or ce type microcontrôleur ne fonctionne pas sous raspbian (linux) et dans ce cas je ne vois pas comment appliquer votre tuto.
Bonne soirée
Bonsoir,
Merci pour la documentation, en revanche j’ai cette erreur au lancement
pi@raspberrypi:~/consoEAU $ ./radian_trx
Unable to open SPI device: No such file or directory
le premier chiffre sur ton module c’est l’année 20 =2020
gros défauts pour les années 2015 ils sous comptent ou s arrêtent
durée de vie par le constructeur itron 10 ans mais les 2016 et 2017 en fosse ne tiennent pas
problème sur les 2018 alarme fer a cheval défaut magnétique et 2019 itron passe les reparamétrer
Bonjour,
Je me lance : RaspBerry Pi 4, CC1101, Compteur itron NARVAL +, Telereleve EverBlu Cyble
Compilation radian_trx
J’attends le CC1101.
Je ne comprends pas trop le réglage de fréquence si j’en ai besoin….
halRfWriteReg(FREQ2,0x10); //Frequency Control Word, High Byte Base frequency = 433.82
halRfWriteReg(FREQ1,0xAF); //Frequency Control Word, Middle Byte
//halRfWriteReg(FREQ0,0x77); //Frequency Control Word, Low Byte la fréquence reel etait 433.790 (centre)
Je posterai mon avancement…
bonjour,
Je me suis lancé
Un compteur ITRON Compteur eau divisionnaire MID R100 Itron – NARVAL+
– Un module de télérelève ITRON – EverBlu Cyble Enhanced v2.1
+ Un raspberry Pi 4
+ CC1101
Super tuto merci
Après qqs essais j’obtiens
xxx
H1 MARCSTATE 1 : raw:0x13 0x13 free_byte:0x0F sts:0x02 sending 2s WUP…
50 00 00 00 03 FF FF FF FF 64 70 47 00 75 17 44
75 87 4B F5 4F 00 75 17 02 72 87 05 71 47 00 72
87 01 70 07 4F FF FF
2 184 free_byte:0x0F sts:0x07
MARCSTATE : raw:0x0D 0x0D(RX RX)
Time Out on REC1
MARCSTATE : raw:0x0D 0x0D(RX RX)
TimeOut on REC2
xxx
En scannat les fréquences j’obtiens de temps un temps une répone partielle
xxx
Essai avec Freq0=37
MARCSTATE : raw:0x13 0x13 free_byte:0x0F sts:0x02 sending 2s WUP…
50 00 00 00 03 FF FF FF FF 64 70 47 00 75 17 44
75 87 4B F5 4F 00 75 17 02 72 87 05 71 47 00 72
87 01 70 07 4F FF FF
194free_byte:0x0D sts:0x07
MARCSTATE : raw:0x0D 0x0D(RX RX)
TMO on REC
MARCSTATE : raw:0x0D 0x0D(RX RX)
GDO0! A2 1st synch received rssi=174 lqi=128 F_est=255
MARCSTATE : raw:0x0D 0x0D(RX RX)
TMO on REC
xxx
J’ai réglé Freq0 mais je n’ai jamais les résultats comme décrit
Que faut il régler ?
Merci
Bonjour,
Super travail…
Everblu 1 : 17 xxxxx => J’ai les mesures
Everblu 2 : 23 yyyyy => Aucune mesure
Pas de litres,working hours, Serial … => 28/10/2024 17:18:51 0=litres Num=14 163Mois 0h-0h serial:
Entre 2 mesures si je fais bouger le compteur, rien ne change à part l’heure dans le buffer décodé par display_meter_report
Qqun a fait fonction un everblu de 2023 ? Quelles adaptations ?
Merci
La fréquence de base est OK
Par contre, il faut changer aussi l’année du compteur :
// replace XXXXXXX with the servia of our device YY-XXXXXXX-ZZZ
// If the serial XXXXXXX start with a 0 remove it.
// Ex 20-0123456-987 -> replace XXXXXXX below with 123456
TS_len_u8=Make_Radian_Master_req(txbuffer, 17 , XXXXXXX ); // le 17 est a replacer par l’année du compteur (représenté par YY sur la 1er ligne)
De plus, pour le 1er test, met ton raspberry à 1 mètre de ton compteur d’eau. Tu pourras l’éloigner âpres le test concluant…
Bjr
Est ce que ça veut dire que l’on doit intervenir après le 01/01/2025? En changeant l’année?
Bonjour,
Je précisais juste qu’il fallait ajouter l’année du compteur (2 chiffres représenter par YY) en plus du numéro de série (représenté par les XXXXXXX).
Un fois que tu reçois tes relevés de compteur, il n’y a plus rien à modifier…
Bonjour,
Merci Julien,
j’allais jeter l’éponge. J’ai positionné l’Everblu sur le compteur (il était à moins d’1m avant) et j’ai les litres qui sont apparus !!!!