pH metre DIY via ESPHome

Ok pour la partie ADS et permettre une meilleur précision :wink:
@jybi89 merci pour le lien c’est super propre et ça donne d’autres idées.
Ce qui me gène le plus c’est l’intégration des sondes dans le SPA, ça serait top si on pouvait intégrer ça dans la pompe pour cacher le tout …

Tu peux les mettre sur en ligne dans le tuyau de pompe.

pour integrer les 2 sondes dans le moteurs du spa, il faudrait répliquer la piece de sortie d’eau ou d’entrée avec unu orifice pour y insérer les sonder, ca doit être largement réalisable sous fusion 360 et avec du PETG.
avec une alimentation sans accu mais sur secteur et sans ecran du coup :wink:

Un exemple d’intégration dans une conduite.
(A l’époque je mesurais le Ph en sortie d’un mélangeur)

Un bouchon sur un T, puis un simple presse étoupe élec assure l’étanchéité.

2 « J'aime »

bonjour, je met en place un système similaire sur esp8266 nodemcu v3

Par contre pour la précision, je branche mon DS18b20 sur une entrée de l’ads1115, par contre je peine a utilise dans le code le dallas, une solution ?

   
i2c:
  - id: bus_a
    sda: GPIO2 #D4
    scl: GPIO14 #D5
    scan: true

ads1115:
  - address: 0x48
    id: ads2
    i2c_id: bus_a
  - address: 0x49
    id: ads1
    i2c_id: bus_a
    
sensor: 
  - platform: ads1115
    ads1115_id: ads2
    multiplexer: 'A2_GND'
    gain: 6.144
    name: "temperature"
    id: temp_ads
    update_interval: 60s
    filters:
      - median:
          window_size: 6
          send_every: 6
          send_first_at: 1
    unit_of_measurement: "mV"
    icon: "mdi:water"
    accuracy_decimals: 3
dallas:
  - pin: ???

Bonjour,
Je sui en train de réaliser cet analyseur et j’ai repris le shéma de Gammatronics, mais je pense qu’il doit y avoir une erreur, Ca j’ai un message « [E][ads1115:076]: Communication with ADS1115 failed! ». Aussi peux tu me transmettre ton schéma de montage?
Merci d’avance pour ton retour

Salut
d’apres ce que je devine tu a une erreur de communication avec ton ADS1115

si tu regardes ce sujet

tu auras un schéma de principe te permettant de voir comment brancher l’ADS a l’ESP

tu y trouveras aussi des trames de code ESP

nhesite pas a fournir :
ton schema actuel
ton code
et surtout les LOGS

:wink: car la … on est en mode M’dame IRMA et boule de cristal

Aides nous a t’aider

1 « J'aime »

Salut

je deterre un peu ton post,
les sondes de temperatures DS18b20 sont en techno 1wire.
Elles renvoient directement une information numerique avec un signal que je qualifierais de signal serie
si tu les branches sur un ADS1115 tu vas « échantillonner » un signal digital ce qui n’est pas le but d’un convertisseur Analogique Numerique
ton DS18B20 doit être branché directement sur un GPIO dédié

Merci pour ton retour, voir schéma joint qui est celui de Gammatroniques je n’utilise pas la batterie et j’utilise uniquement l’alim de l’ESP via USB
J’ai essayé de mettre ADDR à la masse et dans ce cas le dialogue avec l’afficheur s’arrête?

esphome:
  name: esp-piscine
  platform: ESP8266
  board: d1_mini

wifi:
  ssid: « réseau »
  password: « password »
  
captive_portal:
logger:
api:
ota:

i2c:
  sda: D2
  scl: D1
  scan: True

ads1115:
  - address: 0x48
    
dallas:
  pin: D7
  update_interval: 10s
  
sensor:

  - platform: ads1115     #pH en volt
    multiplexer: 'A0_GND'
    gain: 6.144
    id: "phvolt"
    unit_of_measurement: ""
    icon: "mdi:water"
    update_interval: 2s
    accuracy_decimals: 3


  - platform: ads1115     #pH converti en pH
    multiplexer: 'A0_GND'
    gain: 6.144
    name: "Ph Piscine"
    id: "ph"
    filters:
       - calibrate_linear:
           - 3.027 -> 4.01
           - 2.542 -> 6.86
           - 2.179 -> 9.18
    unit_of_measurement: ""
    icon: "mdi:water"
    update_interval: 2s
    accuracy_decimals: 3



  - platform: ads1115     #tension de la batterie
    multiplexer: 'A3_GND'
    gain: 6.144
    name: "Tension Batterie Piscine"
    unit_of_measurement: "V"
    update_interval: 60s
    accuracy_decimals: 3
    
  - platform: dallas     #sonde de Température
    address: 0x0139b75f1e64ff28
    id: "temp"
    name: "Température Piscine"
    accuracy_decimals: 3

binary_sensor:
  - platform: gpio     #le Bouton
    pin: D6
    id: button
    on_press:
      then:
          - globals.set:
              id: screenOn
              value: 'true'
    
globals:
 - id: screenOn
   type: bool
   restore_value: no
   initial_value: 'true'

time:
  - platform: sntp
    on_time:
      # Every 5 minutes
      - seconds: 0
        minutes: /5
        then:
          - globals.set:
              id: screenOn
              value: 'false'

font:
  - file: "fonts/Product-Sans.ttf"
    id: product_sans_20
    size: 20

display:
  - platform: ssd1306_i2c
    model: "SSD1306 128x64"
    address: 0x3C
    lambda: |-
      if(id(screenOn)){
        it.printf(0, 0, id(product_sans_20), "%.1f°C", id(temp).state); //affichage de la Température
        it.printf(0, 20, id(product_sans_20), "pH: %.1f V", id(phvolt).state); //affichage du ph en volt
        it.printf(0, 20, id(product_sans_20), "pH: %.1f", id(ph).state); //affichage du ph
      }else{
        
      } 

J’ai essayé d’alimenter l’ADS1115 en 5V au lieu de l’alim de 3V de l’ESP c’est pareil
Je te joins le code et le log:

INFO Reading configuration /config/esphome/esp-piscine.yaml...
INFO Detected timezone 'Europe/Paris'
INFO Starting log output from esp-piscine.local using esphome API
INFO Successfully connected to esp-piscine.local
[10:16:41][I][app:102]: ESPHome version 2023.4.4 compiled on May  4 2023, 16:05:31
[10:16:41][C][wifi:505]: WiFi:
[10:16:41][C][wifi:363]:   Local MAC: 40:91:51:50:D6:11
[10:16:41][C][wifi:364]:   SSID: [redacted]
[10:16:41][C][wifi:365]:   IP Address: 192.168.1.100
[10:16:41][C][wifi:366]:   BSSID: [redacted]
[10:16:41][C][wifi:368]:   Hostname: 'esp-piscine'
[10:16:41][C][wifi:370]:   Signal strength: -38 dB ▂▄▆█
[10:16:41][C][wifi:374]:   Channel: 6
[10:16:41][C][wifi:375]:   Subnet: 255.255.255.0
[10:16:41][C][wifi:376]:   Gateway: 192.168.1.1
[10:16:41][C][wifi:377]:   DNS1: 192.168.1.1
[10:16:41][C][wifi:378]:   DNS2: 0.0.0.0
[10:16:41][C][logger:294]: Logger:
[10:16:41][C][logger:295]:   Level: DEBUG
[10:16:41][C][logger:296]:   Log Baud Rate: 115200
[10:16:41][C][logger:297]:   Hardware UART: UART0
[10:16:41][C][i2c.arduino:053]: I2C Bus:
[10:16:41][C][i2c.arduino:054]:   SDA Pin: GPIO4
[10:16:41][C][i2c.arduino:055]:   SCL Pin: GPIO5
[10:16:41][C][i2c.arduino:056]:   Frequency: 50000 Hz
[10:16:41][C][i2c.arduino:059]:   Recovery: bus successfully recovered
[10:16:41][I][i2c.arduino:069]: Results from i2c bus scan:
[10:16:41][I][i2c.arduino:075]: Found i2c device at address 0x3C
[10:16:41][I][i2c.arduino:075]: Found i2c device at address 0x4A
[10:16:41][C][gpio.binary_sensor:015]: GPIO Binary Sensor 'button'
[10:16:41][C][gpio.binary_sensor:016]:   Pin: GPIO12
[10:16:41][C][ads1115:073]: Setting up ADS1115...
[10:16:41][C][ads1115:074]:   Address: 0x48
[10:16:41][E][ads1115:076]: Communication with ADS1115 failed!
[10:16:41][C][ads1115:080]:   Sensor 'phvolt'
[10:16:41][C][ads1115:080]:     Device Class: 'voltage'
[10:16:41][C][ads1115:080]:     State Class: 'measurement'
[10:16:41][C][ads1115:080]:     Unit of Measurement: ''
[10:16:41][C][ads1115:080]:     Accuracy Decimals: 3
[10:16:41][C][ads1115:080]:     Icon: 'mdi:water'
[10:16:41][C][ads1115:081]:     Multiplexer: 4
[10:16:41][C][ads1115:082]:     Gain: 0
[10:16:41][C][ads1115:083]:     Resolution: 16
[10:16:41][C][ads1115:080]:   Sensor 'Ph Piscine'
[10:16:41][C][ads1115:080]:     Device Class: 'voltage'
[10:16:41][C][ads1115:080]:     State Class: 'measurement'
[10:16:41][C][ads1115:080]:     Unit of Measurement: ''
[10:16:41][C][ads1115:080]:     Accuracy Decimals: 3
[10:16:41][C][ads1115:080]:     Icon: 'mdi:water'
[10:16:41][C][ads1115:081]:     Multiplexer: 4
[10:16:41][C][ads1115:082]:     Gain: 0
[10:16:41][C][ads1115:083]:     Resolution: 16
[10:16:41][C][ads1115:080]:   Sensor 'Tension Batterie Piscine'
[10:16:41][C][ads1115:080]:     Device Class: 'voltage'
[10:16:41][C][ads1115:080]:     State Class: 'measurement'
[10:16:41][C][ads1115:080]:     Unit of Measurement: 'V'
[10:16:41][C][ads1115:080]:     Accuracy Decimals: 3
[10:16:41][C][ads1115:081]:     Multiplexer: 7
[10:16:41][C][ads1115:082]:     Gain: 0
[10:16:41][C][ads1115:083]:     Resolution: 16
[10:16:41][C][dallas.sensor:075]: DallasComponent:
[10:16:41][C][dallas.sensor:076]:   Pin: GPIO13
[10:16:41][C][dallas.sensor:077]:   Update Interval: 10.0s
[10:16:41][D][dallas.sensor:082]:   Found sensors:
[10:16:41][D][dallas.sensor:084]:     0x0139b75f1e64ff28
[10:16:41][C][dallas.sensor:089]:   Device 'Température Piscine'
[10:16:41][C][dallas.sensor:089]:     Device Class: 'temperature'
[10:16:41][C][dallas.sensor:089]:     State Class: 'measurement'
[10:16:41][C][dallas.sensor:089]:     Unit of Measurement: '°C'
[10:16:41][C][dallas.sensor:089]:     Accuracy Decimals: 3
[10:16:41][C][dallas.sensor:097]:     Address: 0x0139b75f1e64ff28
[10:16:41][C][dallas.sensor:098]:     Resolution: 12
[10:16:41][C][ssd1306_i2c:023]: I2C SSD1306
[10:16:41][C][ssd1306_i2c:023]:   Rotations: 0 °
[10:16:41][C][ssd1306_i2c:023]:   Dimensions: 128px x 64px
[10:16:41][C][ssd1306_i2c:024]:   Address: 0x3C
[10:16:41][C][ssd1306_i2c:025]:   Model: SSD1306 128x64
[10:16:41][C][ssd1306_i2c:027]:   External VCC: NO
[10:16:41][C][ssd1306_i2c:028]:   Flip X: YES
[10:16:41][C][ssd1306_i2c:029]:   Flip Y: YES
[10:16:41][C][ssd1306_i2c:030]:   Offset X: 0
[10:16:41][C][ssd1306_i2c:031]:   Offset Y: 0
[10:16:41][C][ssd1306_i2c:032]:   Inverted Color: NO
[10:16:42][C][ssd1306_i2c:033]:   Update Interval: 1.0s
[10:16:42][C][captive_portal:088]: Captive Portal:
[10:16:42][C][mdns:108]: mDNS:
[10:16:42][C][mdns:109]:   Hostname: esp-piscine
[10:16:42][C][ota:093]: Over-The-Air Updates:
[10:16:42][C][ota:094]:   Address: esp-piscine.local:8266
[10:16:42][C][api:138]: API Server:
[10:16:42][C][api:139]:   Address: esp-piscine.local:6053
[10:16:42][C][api:143]:   Using noise encryption: NO
[10:16:42][C][sntp:053]: SNTP Time:
[10:16:42][C][sntp:054]:   Server 1: '0.pool.ntp.org'
[10:16:42][C][sntp:055]:   Server 2: '1.pool.ntp.org'
[10:16:42][C][sntp:056]:   Server 3: '2.pool.ntp.org'
[10:16:42][C][sntp:057]:   Timezone: 'CET-1CEST,M3.5.0,M10.5.0/3'
[10:16:49][D][dallas.sensor:143]: 'Température Piscine': Got Temperature=22.6°C
[10:16:49][D][sensor:109]: 'Température Piscine': Sending state 22.56250 °C with 3 decimals of accuracy
[10:16:59][D][dallas.sensor:143]: 'Température Piscine': Got Temperature=22.6°C
[10:16:59][D][sensor:109]: 'Température Piscine': Sending state 22.56250 °C with 3 decimals of accuracy
[10:17:09][D][dallas.sensor:143]: 'Température Piscine': Got Temperature=22.6°C
[10:17:09][D][sensor:109]: 'Température Piscine': Sending state 22.56250 °C with 3 decimals of accuracy
[10:17:19][D][dallas.sensor:143]: 'Température Piscine': Got Temperature=22.6°C
[10:17:19][D][sensor:109]: 'Température Piscine': Sending state 22.56250 °C with 3 decimals of accuracy
[10:17:29][D][dallas.sensor:143]: 'Température Piscine': Got Temperature=22.6°C
[10:17:29][D][sensor:109]: 'Température Piscine': Sending state 22.56250 °C with 3 decimals of accuracy
[10:17:39][D][dallas.sensor:143]: 'Température Piscine': Got Temperature=22.6°C
[10:17:39][D][sensor:109]: 'Température Piscine': Sending state 22.56250 °C with 3 decimals of accuracy
[10:17:49][D][dallas.sensor:143]: 'Température Piscine': Got Temperature=22.6°C
[10:17:49][D][sensor:109]: 'Température Piscine': Sending state 22.56250 °C with 3 decimals of accuracy
[10:17:59][D][dallas.sensor:143]: 'Température Piscine': Got Temperature=22.6°C
[10:17:59][D][sensor:109]: 'Température Piscine': Sending state 22.56250 °C with 3 decimals of accuracy
[10:18:09][D][dallas.sensor:143]: 'Température Piscine': Got Temperature=22.6°C
[10:18:09][D][sensor:109]: 'Température Piscine': Sending state 22.56250 °C with 3 decimals of accuracy
[10:18:19][D][dallas.sensor:143]: 'Température Piscine': Got Temperature=22.6°C
[10:18:19][D][sensor:109]: 'Température Piscine': Sending state 22.56250 °C with 3 decimals of accuracy
[10:18:29][D][dallas.sensor:143]: 'Température Piscine': Got Temperature=22.6°C
[10:18:29][D][sensor:109]: 'Température Piscine': Sending state 22.56250 °C with 3 decimals of accuracy
[10:18:39][D][dallas.sensor:143]: 'Température Piscine': Got Temperature=22.6°C
[10:18:39][D][sensor:109]: 'Température Piscine': Sending state 22.56250 °C with 3 decimals of accuracy
[10:18:49][D][dallas.sensor:143]: 'Température Piscine': Got Temperature=22.6°C
[10:18:49][D][sensor:109]: 'Température Piscine': Sending state 22.56250 °C with 3 decimals of accuracy
[10:18:59][D][dallas.sensor:143]: 'Température Piscine': Got Temperature=22.6°C
[10:18:59][D][sensor:109]: 'Température Piscine': Sending state 22.56250 °C with 3 decimals of accuracy
[10:19:09][D][dallas.sensor:143]: 'Température Piscine': Got Temperature=22.6°C
[10:19:09][D][sensor:109]: 'Température Piscine': Sending state 22.56250 °C with 3 decimals of accuracy
[10:19:19][D][dallas.sensor:143]: 'Température Piscine': Got Temperature=22.6°C
[10:19:19][D][sensor:109]: 'Température Piscine': Sending state 22.56250 °C with 3 decimals of accuracy
[10:19:29][D][dallas.sensor:143]: 'Température Piscine': Got Temperature=22.6°C
[10:19:29][D][sensor:109]: 'Température Piscine': Sending state 22.56250 °C with 3 decimals of accuracy
[10:19:39][D][dallas.sensor:143]: 'Température Piscine': Got Temperature=22.6°C
[10:19:39][D][sensor:109]: 'Température Piscine': Sending state 22.56250 °C with 3 decimals of accuracy
[10:19:49][D][dallas.sensor:143]: 'Température Piscine': Got Temperature=22.6°C
[10:19:49][D][sensor:109]: 'Température Piscine': Sending state 22.56250 °C with 3 decimals of accuracy
[10:19:59][D][dallas.sensor:143]: 'Température Piscine': Got Temperature=22.6°C
[10:19:59][D][sensor:109]: 'Température Piscine': Sending state 22.56250 °C with 3 decimals of accuracy
[10:20:09][D][dallas.sensor:143]: 'Température Piscine': Got Temperature=22.6°C
[10:20:09][D][sensor:109]: 'Température Piscine': Sending state 22.56250 °C with 3 decimals of accuracy
[10:20:19][D][dallas.sensor:143]: 'Température Piscine': Got Temperature=22.6°C
[10:20:19][D][sensor:109]: 'Température Piscine': Sending state 22.56250 °C with 3 decimals of accuracy
[10:20:29][D][dallas.sensor:143]: 'Température Piscine': Got Temperature=22.6°C
[10:20:29][D][sensor:109]: 'Température Piscine': Sending state 22.56250 °C with 3 decimals of accuracy
[10:20:39][D][dallas.sensor:143]: 'Température Piscine': Got Temperature=22.6°C
[10:20:39][D][sensor:109]: 'Température Piscine': Sending state 22.56250 °C with 3 decimals of accuracy
[10:20:49][D][dallas.sensor:143]: 'Température Piscine': Got Temperature=22.6°C
[10:20:49][D][sensor:109]: 'Température Piscine': Sending state 22.56250 °C with 3 decimals of accuracy
[10:20:59][D][dallas.sensor:143]: 'Température Piscine': Got Temperature=22.6°C
[10:20:59][D][sensor:109]: 'Température Piscine': Sending state 22.56250 °C with 3 decimals of accuracy
[10:21:09][D][dallas.sensor:143]: 'Température Piscine': Got Temperature=22.6°C
[10:21:09][D][sensor:109]: 'Température Piscine': Sending state 22.56250 °C with 3 decimals of accuracy
[10:21:19][D][dallas.sensor:143]: 'Température Piscine': Got Temperature=22.6°C
[10:21:19][D][sensor:109]: 'Température Piscine': Sending state 22.56250 °C with 3 decimals of accuracy
[10:21:29][D][dallas.sensor:143]: 'Température Piscine': Got Temperature=22.6°C
[10:21:29][D][sensor:109]: 'Température Piscine': Sending state 22.56250 °C with 3 decimals of accuracy
[10:21:39][D][dallas.sensor:143]: 'Température Piscine': Got Temperature=22.6°C
[10:21:39][D][sensor:109]: 'Température Piscine': Sending state 22.56250 °C with 3 decimals of accuracy

Une précision la sonde connectée directement à l’ESP affiche la valeur correcte. Par contre la le PH connecté à l’ADS n’affiche rien

OK merci pour le complément d’information
bon je vois que tu as testé en alimentant en 5 V
personnellement c’est ce que je fais

bon c’est pas normal que ton écran ne s’allume pas quand tu met ADR a la masse

je te propose un truc, mais essaye sans l’écran ( tu debranches completement ton ecran)
met ADDR a la masse

dans ton code je vois aussi que tu monitore la tension des batteries, debranche la liaison batterie et A03 de l’ADS

dans tes log je vois
Found i2c device at address 0x3C
Found i2c device at address 0x4A

l’adresse 0x3C c’est ton ecran
mais 0x4A c’est l’ads mais * If the address pin is tied to SDA, the address is 0x4a.

je pense que tu dois avoir un « pont » ou une mauvaise soudure soit sur ton ADS soit sur ton écran

ensuite dans ton code je vois que tu définis deux fois

- platform: ads1115     #pH en volt
    multiplexer: 'A0_GND'
    gain: 6.144
    id: "phvolt"
    unit_of_measurement: ""
    icon: "mdi:water"
    update_interval: 2s
    accuracy_decimals: 3

et

- platform: ads1115     #pH converti en pH
    multiplexer: 'A0_GND'
    gain: 6.144
    name: "Ph Piscine"
    id: "ph"
    filters:
       - calibrate_linear:
           - 3.027 -> 4.01
           - 2.542 -> 6.86
           - 2.179 -> 9.18
    unit_of_measurement: ""
    icon: "mdi:water"
    update_interval: 2s
    accuracy_decimals: 3

utilise plutôt un template et un lambda

regarde le code que j’ai utilisé

- platform: ads1115

    ads1115_id: ads1
    multiplexer: 'A0_A1'
    gain: 1.024
    name: "Channel A"
    force_update: true
    id: Channel_A
    internal: true

  - platform: ct_clamp
    sensor: Channel_A
    name: "Measured Current Channel A"
    update_interval: 5s
#    sample_duration: 1s
    accuracy_decimals: 2
    filters:
      - calibrate_linear:
          - 0 -> 0
          - 1 -> 30   
    id: current_channel_A

  - platform: template
    name: power channel a
    id: power_channel_a
    unit_of_measurement: W
    lambda: return id(current_channel_A).state ;
    filters:
      - multiply: 235
  
  - platform: total_daily_energy
    name: energy_channel_a
    power_id: power_channel_a
    unit_of_measurement: kWh
    device_class: energy    
    filters:
      - multiply: .001

J’ai dejà deconnecté l’ecran sans succes, toujours l’erreur de communication

voici le log avec ADDR à la masse et écran déconnecté:

INFO Reading configuration /config/esphome/esp-piscine.yaml...
INFO Detected timezone 'Europe/Paris'
INFO Starting log output from esp-piscine.local using esphome API
INFO Successfully connected to esp-piscine.local
[10:44:43][I][app:102]: ESPHome version 2023.4.4 compiled on May  4 2023, 16:05:31
[10:44:43][C][wifi:505]: WiFi:
[10:44:43][C][wifi:363]:   Local MAC: 40:91:51:50:D6:11
[10:44:43][C][wifi:364]:   SSID: [redacted]
[10:44:43][C][wifi:365]:   IP Address: 192.168.1.100
[10:44:43][C][wifi:366]:   BSSID: [redacted]
[10:44:43][C][wifi:368]:   Hostname: 'esp-piscine'
[10:44:43][C][wifi:370]:   Signal strength: -36 dB ▂▄▆█
[10:44:43][C][wifi:374]:   Channel: 6
[10:44:43][C][wifi:375]:   Subnet: 255.255.255.0
[10:44:43][C][wifi:376]:   Gateway: 192.168.1.1
[10:44:43][C][wifi:377]:   DNS1: 192.168.1.1
[10:44:43][C][wifi:378]:   DNS2: 0.0.0.0
[10:44:43][C][logger:294]: Logger:
[10:44:43][C][logger:295]:   Level: DEBUG
[10:44:43][C][logger:296]:   Log Baud Rate: 115200
[10:44:43][C][logger:297]:   Hardware UART: UART0
[10:44:43][C][i2c.arduino:053]: I2C Bus:
[10:44:43][C][i2c.arduino:054]:   SDA Pin: GPIO4
[10:44:43][C][i2c.arduino:055]:   SCL Pin: GPIO5
[10:44:43][C][i2c.arduino:056]:   Frequency: 50000 Hz
[10:44:43][C][i2c.arduino:065]:   Recovery: failed, SDA is held low on the bus
[10:44:43][I][i2c.arduino:069]: Results from i2c bus scan:
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x08
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x09
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x0A
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x0B
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x0C
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x0D
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x0E
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x0F
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x10
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x11
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x12
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x13
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x14
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x15
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x16
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x17
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x18
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x19
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x1A
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x1B
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x1C
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x1D
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x1E
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x1F
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x20
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x21
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x22
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x23
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x24
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x25
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x26
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x27
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x28
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x29
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x2A
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x2B
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x2C
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x2D
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x2E
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x2F
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x30
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x31
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x32
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x33
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x34
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x35
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x36
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x37
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x38
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x39
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x3A
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x3B
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x3C
[10:44:43][E][i2c.arduino:077]: Unknown error at address 0x3D
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x3E
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x3F
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x40
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x41
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x42
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x43
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x44
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x45
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x46
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x47
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x48
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x49
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x4A
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x4B
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x4C
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x4D
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x4E
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x4F
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x50
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x51
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x52
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x53
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x54
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x55
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x56
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x57
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x58
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x59
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x5A
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x5B
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x5C
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x5D
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x5E
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x5F
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x60
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x61
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x62
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x63
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x64
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x65
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x66
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x67
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x68
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x69
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x6A
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x6B
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x6C
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x6D
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x6E
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x6F
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x70
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x71
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x72
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x73
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x74
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x75
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x76
[10:44:44][E][i2c.arduino:077]: Unknown error at address 0x77
[10:44:44][C][gpio.binary_sensor:015]: GPIO Binary Sensor 'button'
[10:44:44][C][gpio.binary_sensor:016]:   Pin: GPIO12
[10:44:44][C][ads1115:073]: Setting up ADS1115...
[10:44:44][C][ads1115:074]:   Address: 0x48
[10:44:44][E][ads1115:076]: Communication with ADS1115 failed!
[10:44:44][C][ads1115:080]:   Sensor 'phvolt'
[10:44:44][C][ads1115:080]:     Device Class: 'voltage'
[10:44:44][C][ads1115:080]:     State Class: 'measurement'
[10:44:44][C][ads1115:080]:     Unit of Measurement: ''
[10:44:44][C][ads1115:080]:     Accuracy Decimals: 3
[10:44:44][C][ads1115:080]:     Icon: 'mdi:water'
[10:44:44][C][ads1115:081]:     Multiplexer: 4
[10:44:44][C][ads1115:082]:     Gain: 0
[10:44:44][C][ads1115:083]:     Resolution: 16
[10:44:44][C][ads1115:080]:   Sensor 'Ph Piscine'
[10:44:44][C][ads1115:080]:     Device Class: 'voltage'
[10:44:44][C][ads1115:080]:     State Class: 'measurement'
[10:44:44][C][ads1115:080]:     Unit of Measurement: ''
[10:44:44][C][ads1115:080]:     Accuracy Decimals: 3
[10:44:44][C][ads1115:080]:     Icon: 'mdi:water'
[10:44:44][C][ads1115:081]:     Multiplexer: 4
[10:44:44][C][ads1115:082]:     Gain: 0
[10:44:44][C][ads1115:083]:     Resolution: 16
[10:44:44][C][ads1115:080]:   Sensor 'Tension Batterie Piscine'
[10:44:44][C][ads1115:080]:     Device Class: 'voltage'
[10:44:44][C][ads1115:080]:     State Class: 'measurement'
[10:44:44][C][ads1115:080]:     Unit of Measurement: 'V'
[10:44:44][C][ads1115:080]:     Accuracy Decimals: 3
[10:44:44][C][ads1115:081]:     Multiplexer: 7
[10:44:44][C][ads1115:082]:     Gain: 0
[10:44:44][C][ads1115:083]:     Resolution: 16
[10:44:44][C][dallas.sensor:075]: DallasComponent:
[10:44:44][C][dallas.sensor:076]:   Pin: GPIO13
[10:44:44][C][dallas.sensor:077]:   Update Interval: 10.0s
[10:44:44][D][dallas.sensor:082]:   Found sensors:
[10:44:44][D][dallas.sensor:084]:     0x0139b75f1e64ff28
[10:44:44][C][dallas.sensor:089]:   Device 'Température Piscine'
[10:44:44][C][dallas.sensor:089]:     Device Class: 'temperature'
[10:44:44][C][dallas.sensor:089]:     State Class: 'measurement'
[10:44:44][C][dallas.sensor:089]:     Unit of Measurement: '°C'
[10:44:44][C][dallas.sensor:089]:     Accuracy Decimals: 3
[10:44:44][C][dallas.sensor:097]:     Address: 0x0139b75f1e64ff28
[10:44:44][C][dallas.sensor:098]:     Resolution: 12
[10:44:44][C][ssd1306_i2c:023]: I2C SSD1306
[10:44:44][C][ssd1306_i2c:023]:   Rotations: 0 °
[10:44:44][C][ssd1306_i2c:023]:   Dimensions: 128px x 64px
[10:44:44][C][ssd1306_i2c:024]:   Address: 0x3C
[10:44:44][C][ssd1306_i2c:025]:   Model: SSD1306 128x64
[10:44:44][C][ssd1306_i2c:027]:   External VCC: NO
[10:44:44][C][ssd1306_i2c:028]:   Flip X: YES
[10:44:44][C][ssd1306_i2c:029]:   Flip Y: YES
[10:44:44][C][ssd1306_i2c:030]:   Offset X: 0
[10:44:44][C][ssd1306_i2c:031]:   Offset Y: 0
[10:44:44][C][ssd1306_i2c:032]:   Inverted Color: NO
[10:44:44][C][ssd1306_i2c:033]:   Update Interval: 1.0s
[10:44:44][E][ssd1306_i2c:036]: Communication with SSD1306 failed!
[10:44:44][C][captive_portal:088]: Captive Portal:
[10:44:44][C][mdns:108]: mDNS:
[10:44:44][C][mdns:109]:   Hostname: esp-piscine
[10:44:44][C][ota:093]: Over-The-Air Updates:
[10:44:44][C][ota:094]:   Address: esp-piscine.local:8266
[10:44:44][C][api:138]: API Server:
[10:44:44][C][api:139]:   Address: esp-piscine.local:6053
[10:44:44][C][api:143]:   Using noise encryption: NO
[10:44:44][C][sntp:053]: SNTP Time:
[10:44:44][C][sntp:054]:   Server 1: '0.pool.ntp.org'
[10:44:44][C][sntp:055]:   Server 2: '1.pool.ntp.org'
[10:44:44][C][sntp:056]:   Server 3: '2.pool.ntp.org'
[10:44:44][C][sntp:057]:   Timezone: 'CET-1CEST,M3.5.0,M10.5.0/3'
[10:44:51][D][dallas.sensor:143]: 'Température Piscine': Got Temperature=22.5°C
[10:44:51][D][sensor:109]: 'Température Piscine': Sending state 22.50000 °C with 3 decimals of accuracy
[10:45:01][D][dallas.sensor:143]: 'Température Piscine': Got Temperature=22.6°C
[10:45:01][D][sensor:109]: 'Température Piscine': Sending state 22.56250 °C with 3 decimals of accuracy

donc tu dois avoir un pont entre SDA et ADDR verifie tes soudures

Bravo et merci, pour ton aide.
En effet il y avait un contact que je n’avais pas vu. J’ai mis ADDR à la masse et cela fonctionne.
Merci encore,
Si j’ai d’autre souci je te contacterais

1 « J'aime »

Bonjour à nouveau,
Je viens de mettre ma sonde pH sur un porte sonde dans le circuit d’eau en sortie de filtration et grande surprise, car j’ai d’énormes fluctuations du pH entre 3 et 12? Je ne comprends plus. Après enquête j’ai rajouté un pool terre, pour stabiliser les courants de fuites et toujours pareil, aucun effet?
J’ai démonté ma sonde du porte sonde pour la mettre dans un verre, et je trouve une mesure du pH stable et correcte conforme à la calibration. Ces comparaisons se font dans le même environnement électrique à côté de la pompe, donc avec les mêmes perturbations. L’instabilité de la mesure apparait donc uniquement quand je la place dans son porte sonde su circuit de la piscine. Avez vous une idée du problème?

Salut J’ai un collègue qui utilise la même chose
Une sonde PH et une sonde pour la dureté (j’ai pas de piscine mais je pense que c’est cela)
Lui aussi a des gros problemes de fluctuation
il utilise ESPEASY plutot que ESPHOME
je lui ai conseillé de passer en mode différentiel avec son ADS je vais verifier avec lui mais il me semble que ça nettement amélioré la chose, après vérification il fait un moyennage
regarde les fonctions filter de ESPHOME

sinon je suis tombe sur cela

je pense que cela va répondre a pas mal de question

Merci pour le tuyau. Mais ce qui me bluffe c’est que lorsque la sonde est placé dans un verre à côte du porte sonde l’information est correcte? C’est uniquement lorsque je mets la sonde s-dans son porte sonde que cela ne fonctionne plus? C’est vraiment un mystère?
La dernière chose que je vais modifier d’après les retours du net, je vais passer l’alim du capteur de sonde et de l’ADS1115 à 5V. Car j’avais repris le schéma de Gammatroniques qui avait connecté au 3,3V de l’ESP8266
Je viens de passer en 5V , le problème est identique, la plage de variation a augmentée (pH 1 à 18)
D’autre part, je pense que le problème est hardware est indépendant de esp easy ou esphome
Merci pour ton aide

Hello
Je redescends ce que j’avais écrit plus haut

Oui c’est la problématique des masses flottantes, d’où le passage en différentiel qui normalement contre ce comportement

je parle aussi d’espeasy car étant sous jeedom mon collègue n’avais pas trop le choix d’utiliser ESPeasy pour son capteur

Mais je n’ai qu’une sonde pH dans le circuit d’eau , je n’ai pas encore mis mon capteur de température dans l’eau. Peux tu me préciser quelle isolation galvanique et entre quoi et quoi?