Compteur d'eau Itron

Pour moi rien n’est envoyé en mqtt :

Oui ça c’est la connexion au compteur.
Il faut 5 tentatives. Il récupère bien une valeur a la fin (liters).

Cette récupération n’est faisable que pendant les heure ouvrée. Si je le fait maintenant j’ai tout en connexion fail. Pour moi c’est le comportement normal. Il fait bien un puh a la fin que je n’ai pas quand il trouve pas de valeur.

Ok, je comprends.
Tu as bien MQTT explorer ouvert quand l’envoi se fait correctement en mqtt ? Et c’est envoyé sur le même broker que celui sur lequel tu écoutes ?

Oui j’ai bien l’explorateur ouvert au moment de l’envoie. C’est bien le même (de toute façon j’en ai qu’un sur l’ensemble de mon installation.)

Je vais refaire toute l’installation j’ai peut-être zapper quelque chose.

Si c’est MQTT Manager qui a installé Mosquitto, il y a fort à parier que Mosquitto soit configuré en MQTTS, as-tu du installer un certificat dans MQTT Explorer (et pas eu la possibilité dans ton soft) ?

1 « J'aime »

Oui sans le certificat impossible de lire le broker. Mes données dans le topic zwave et sys s’actualisent bien.

Donc il faut que tu reconfigures le mosquitto local installé par MQTT Manager pour écouter en MQTT (pas S) sur un port particulier (car le soft ne gère pas le MQTTS).

En attendant, tu peux test sur un autre mosquitto installé sur un autre machine (de test).

Donc c’est le logiciel sur mon pi qui envoi en MQTT et il devrait le faire en MQTTS ?
EDIT : je viens de supprimer le certificat et en fait il se connecte quand même et je vois les topic sys et zwave mais pas mon topic.

Je viens de refaire l’installation et j’ai plus la ligne de sending…
lit

Y’a quand même un warning de compilation qui pourrait influer sur la publication, non ?

Ah oui c’est réglé au 2e make erreur de copier coller de ma part (j’ai repris le même chemin que Kyoshi vu que ça marche chez lui avec un broker créé par plugin officiel.).

EDIT : je viens de passer les logs de mqttmanager en débug et il voit rien passer.

Dans le fichier de config j’ai ça :
#define MQTT_HOST « 192.168.1.60 » (adresse locale de mon jeedom)
#define MQTT_PORT 1883
#define MQTT_USER « jeedom » (user definit dans mon mqtt manager)
#define MQTT_PASS « mon mdp tel que mit dans la config du plugin »

@Kyoshi et @bart40140 vous avez le même résultat que moi en affichage quand vous faite la lecture en manuel en ssh ?

Hormis les guillemets (mais ça c’est l’éditeur de community) oui.

#define MQTT_HOST "19x.xxx.xxx.xxx"
#define MQTT_PORT  1883
#define MQTT_USER "jeedom"
#define MQTT_PASS "xxxxxx"

Tu n’aurais pas des règles de filtrages quelque part?

Quand tu lance le programme manuellement en ssh via ./everblu_meters tu as les même info que moi dans les capture d’écran putty plus haut ?

Ton broker a bien été créé par le plugin MQTTmanager (l’officiel) ?

Règle de filtrage, sur quel élément ?

J’ai rebranché mon esp8632 et il me crée direct le topic lui. Le soucis c’est qu’il lit pas le compteur…

Ton pi est en debian 10 ou 11 ?

Je ne suis pas à la maison mais au vu de tes écrans, rien ne me choque.
Je dois avoir la même chose.

Oui, mon broker a été créé avec le plugin MQTT Manager (officiel) en mode broker local docker.

Je parle de règle de filtrage au niveau de Jeedom.

Sur le Pi, je dois certainement être en 11 (comme dit, je ne suis pas chez moi mais je ne vois pas pourquoi j’aurais installé la 10).

Je vais regarder voir si je trouve ça mais en tout cas perso j’ai rien fait.

J’ai testé avec hivemqtt et j’ai rien de publié la bas non plus quand j’utilise mon broker cloud donc le problème est bien côté programme sur le Pi qui envoi rien.

Bon j’ai tout réinstallé sur un debian 10 et ça apparait enfin !
Maintenant faut que je trouve comment récupérer ça dans une commande (ok c’est bon).

Merci a tous pour votre aide !

1 « J'aime »

Tu récupères les informations publiée dans le broker pas besoin de plugin spécifique a ça. Un plugin mqtt c’est ok

1 « J'aime »

C’est pas en usp c’est une antenne à brancher au port gpio du rasp.

Je reçois aussi le " homeassistance" automatiquement

Debian n’existe pas pour les esp donc oui forcement changement de matos.

Je n’ai plus les param du fichier config de la version esp parce que ça ne marchais pas.

PINout dans le fichier "everblu_meters.h " de Mr " github de neutrinus/everblu-meters
ESP32 8266

ESP8266 12-E NodeMCU Kit CH340 NodeMcu V3 // CC1101 bleu V2 ( le mien )
pin 1 (3V3) to pin 2 (VCC)
pin D8 HCS to pin 4 (CKN) Sur ali picture) cable noir
pin D5 HSCLK to pin 5 SCLK (SCK) Sur ali picture) cable mauve
pin D7 HMOSI to pin 6 (MOSI) cable blanc
pin D6 HMISO to pin 7 (MISO) cable bleu
pin D1 (GPIO5) to pin 3 (GDO0) cable orange
pin D2 (GPIO4) to pin 8 (GD02) cable gris
#define GDO0 5 //header

le sketch et tu regarde dans la console en temps reel du logiciel ardouino pr voir . .
Pas besoin de clef TNT usb SDR . il se connecte au wifi après avoir trouver la fréquence du compteur .

CA FONCTIONNE SANS METTRE LE CABLE GRIS ( pin D2 (GPIO4) to pin 8 (GD02) )

// Project source : http://www.lamaisonsimon.fr/wiki/doku.php?id=maison2:compteur_d_eau:compteur_d_eau

  #include <Arduino.h>
  #include <ESP8266WiFi.h>
  #include <ESP8266WiFiMulti.h>
  #include <ESP8266HTTPClient.h>
  #include <WiFiClient.h>
  #include "everblu_meters.h"  // Edit "everblu_meters.h" file then change the define at the end of the file



  ESP8266WiFiMulti WiFiMulti;

//----------------//
// Wi-Fi settings //
//----------------//
  const char* ssid = "xxxxx";
  
  const char* password = "xxxxx";

#ifndef LED_BUILTIN
// Change this pin if needed
#define LED_BUILTIN 2
#endif
void setup()
{
  
  Serial.begin(115200);
  delay(500);
  pinMode(LED_BUILTIN, OUTPUT);

//-------------------------------------------------------------//   
// Lecture du compteur d'eau selon plage de fréquences définie //
//-------------------------------------------------------------//
  
  for (float i = 433.80f; i < 433.82f; i += 0.0005f) {
    digitalWrite(LED_BUILTIN, HIGH); // turn off led
    Serial.printf("Test frequency : %f\n", i);
    cc1101_init(i);
    Serial.print("cc1101 initialisé");

    struct tmeter_data meter_data;
    Serial.print("point1");
    meter_data = get_meter_data();
    Serial.print("point2");
    Serial.println();

  // pour essai : meter_data.liters = 510283;

    if (meter_data.reads_counter != 0 || meter_data.liters != 0) {
      Serial.printf("\n------------------------------\nGot frequency : %f\n------------------------------\n", i);

      Serial.printf("Litres : %d\nBatterie (en mois) : %d\nCompteur : %d\n\n", meter_data.liters, meter_data.battery_left, meter_data.reads_counter);

      
    float litres = meter_data.liters;
    
    float batterie = meter_data.battery_left;
    
    float frequence = (i * 1e6) ;
    
    HTTPClient http; 
    digitalWrite(LED_BUILTIN, LOW); // turn on led
    delay(5000);
    digitalWrite(LED_BUILTIN, HIGH);// turn off led
    
    connexion_wifi();
    
      
    

    Serial.print("je vais redémarrer dans 60 minutes");
    ESP.deepSleep(3100e6);
      
      while (42);
      
    }
   digitalWrite(LED_BUILTIN, LOW); // turn on led
   delay(500);  
   digitalWrite(LED_BUILTIN, HIGH); // turn off led
     
  }
  
  }

void loop()
{
 Serial.print("je vais redémarrer dans 1 heure après échec de lecture");
 ESP.deepSleep(3100e6);
}

Dans ce fichier, everblu-meters-esp8266.ino a rempli les détails mqtt avec le wifi.

décommentez cette section (lignes 272 à 291)
Pour connaître la fréquence de mon compteur d’eau (essai et erreur)
Puis rempli mes METER_YEAR et METER_SERIAL dans everblu_meters.h
compilé et téléchargé le programme en utilisant Arduino IDE & ESP-flasher.
semaine à 10h, les lectures sont mises à jour.

SCLK SCK, SCL — Serial Clock, Horloge (généré par le maître)
MOSI SDI, DI, SI — Master Output, Slave Input (généré par le maître)
MISO SDO, SDA, DO, SO — Master Input, Slave Output (généré par l’esclave)
SS nCS, CS, nSS, STE, CSN — Slave Select, Actif à l’état bas (généré par le maître)


08:26:15.290 → Got frequency : 433.791748 ( A travers 3 murs de bétons et 30m plus loin , maison voisine avec jardin entre )
08:26:15.290 → Got frequency : 433.817627 30m
08:26:15.290 → Got frequency : 433.791748 30cm
08:36:37.087 → Got frequency : 433.769775 30cm
08:39:58.978 → Got frequency : 433.770264 30cm
08:41:12.618 → Got frequency : 433.770752 30cm
08:42:45.896 → Got frequency : 433.769775 30cm
08:43:53.248 → Got frequency : 433.769775 30cm
Got frequency : 433.868988 30m
09:57:38.567 → Got frequency : 433.870850 30m
Got frequency : 433.874023 30m
Got frequency : 433.868988 30m
Got frequency : 433.856628 30m
Got frequency : 433.864990 30m

RPI to=> CC1101
pin 1 (3V3) to pin 2 (VCC)
pin 6 (GND) to pin 1 (GND)
pin 11 (GPIO0 ) to pin 3 (GDO0)
pin 24 (CE0) to pin 4 (CSN)
pin 23 (SCLK) to pin 5 (SCK)
pin 19 (MOSI) to pin 6 (MOSI)
pin 21 (MISO) to pin 7 (MISO)
pin 13 (GPIO27) to pin 8 (GD02)

ESP8266 12-E NodeMCU Kit CH340 NodeMcu V3 TO=> CC1101 bleu V2
pin 1 (3V3) to pin 2 (VCC)
pin D8 HCS to pin 4 (CKN) Sur ali picture) cable noir
pin D5 HSCLK to pin 5 SCLK (SCK) Sur ali picture) cable mauve
pin D7 HMOSI to pin 6 (MOSI) cable blanc
pin D6 HMISO to pin 7 (MISO) cable bleu
pin D1 (GPIO5) to pin 3 (GDO0) cable orange
pin D2 (GPIO4) to pin 8 (GD02) cable gris ( ca fonctionne sans mettre le cable !!! )

EGBO – Module émetteur-récepteur sans fil, 433M CC1101 10mW NRF905/SX1212/SI4432
Pins wiring for Wemos D1 board :
CC1101 rouge old V1 TO=> Wemos
GOD0 (GDO0) D1 ( adresse 5 )
CSN (SPI chip select) D8
SCK (SPI clock) D5
MOSI (SPI MOSI) D7
GOD1 (SPI MISO) D6
GOD2 (GDO2) D2 ( adresse 4 )

Many ESP32 boards come with default SPI pins pre-assigned. The pin mapping for most boards is as follows:

SPI MOSI MISO SCLK CS
VSPI GPIO 23 GPIO 19 GPIO 18 GPIO 5
HSPI GPIO 13 GPIO 12 GPIO 14 GPIO 15

L antenne vert vendu avec des autres marcages de PINOUT sur ali ne fonctionne pas avec moi . j 'ai du intervertir le GD00 / GD02 … Apres avoir interverti, ca fonctionne bien . Je me demande si les ingénieurs chinois font des tests avant la production …