Cloro, PH e Temperatura da Piscina no Home Assistant

Alguém tem ou já viu algum projeto DIY para deixar na piscina e acompanhar as medições de Cloro, PH e Temperatura ?

Vi um produto que parece ter sido lançado a uns 3 anos chamado PoolSense e queria tentar fazer ou em último caso importar o produto.

Lançamento do Produto no indiegogo:

Integração com o Home Assistant:

Videos no Youtube:

Rapaz. Adorei a ideia. Atualmente tenho na minha piscina monitoramento de temperatura usando Esphome e o sensor DS18B20 (prova d’água). Monitorar mais dados seria ideal.

Existe esse sensor de ph no mercado…

Olá @vodopives

Como anda seu projeto de verificar o Cloro, PH e a temperatura da sua piscina?
Espero que tenha conseguido…

Recentemente instalei uma piscina e tenho a mesma intenção.
Já liguei os LEDs da Piscina e o motor no Home Assitant, e tenho essa ideia de medir temperatura, Cloro e o PH.

Comprei uma daquelas boias de pastilhas de cloro para usar como suporte para meu ESP32, tenho umas baterias e alguns painéis solares para servir de apoio a alimentação as baterias do ESP32

O ESP32 tem funcionado bem nas baterias porem , o meu Sensor DS18B20 não quer ligar de jeito algum junto ao dispositivo.

E quero dar o primeiro passo nesse projeto somente com o sensor de temperatura, para ter como base para o sensor de cloro futuramente.

Já fiz um teste no Arduino para garantir que o sensor não estivesse danificado. Mas o danado não funciona no ESP32, tentei num ESP32 CAM e sem sucesso também.

Tenho desconfiado que a alimentação do sensor em 3.3v possa ser insuficiente para a leitura, tentei com o ESP32 alimentado via 5V. bastantes tentativas.

Desconfio também da biblioteca Dallas no ESPHome.

Adianto que os testes preliminares estão numa fonte regulável, afim de não comprometer os resultados, devido ao uso da bateria.
O engraçado que no Arduino conecto a 5v e funciona!

O sensor estar com o resistor pull- down como os tutorais sempre indicam.

O erro que sempre me retorna no log do Home-Assistant, quem puder me ajudar agradeço.

[21:17:54][W][dallas.sensor:261]: ‘temperatura agua da Piscina’ - Scratch pad checksum invalid!

Segundo a documentação o correto é pull-UP

external pullup resistor of about 4.7KΩ

1 Like

Obrigado Walber, pull-up correto! Me equivoquei.
Sobre o link da documentação no espHome. Segui ele mesmo, porem sem sucesso.
Come havia mencionado testei tanto num ESP32 CAM e num WROOM.

No arduino de forma digamos convencional com os resultados normalmente.

Minha dúvida talvez fique na alimentação, acredito possa ser o problema.

O ESP32 tenho a opção de alimentar com 5v ou 3.3v porém, como devo conectar o sensor de temperatura?

Conectado ao 5v ou ao 3.3v?

No arduino é acoplado aos 5v.

Em exemplos da web sempre em 3.3v

Posta uma foto da sua ligação e o código que vc usou.

Me parece que em uma atualização do ano passado começou a dar problemas com esse sensor. Não sei se foi resolvido, mas uma solução apresentada foi usar um clone do componente:

O certo seria alimentar com 3,3V e fazer o pull-up usando o 3,3V também.

Não é recomendado mas eu já usei alguns sensores alimentados com 5V no esp32.
Vc pode tentar alimentar com 5v e fazer o pull-up usando o 3,3v.

Postarei sim…em paralelo vou verificar o dallasng parece uma luz no final do túnel.

Olá a todos
Walber, realmente o problema parece estar na Lib. do sensor Dallas dentro do espHome.
Problema resolvido! Veja as imagens abaixo e o meu código utilizado a quem interessar.

O próximo passo agora eh montar todo aparato do meu projeto de monitorar a temperatura da piscina.
Assim que pronto farei um post dedicado aos interessados. O quem sabe me surgira nos problemas(desafios) para dividir com vocês.

protótipo e bancada do projeto

Conforme você havia sugerido utilizei a Lib dallasng

esphome:
  name: esp32-wroom32
  friendly_name: esp32-wroom32

esp32:
  board: esp32dev
  framework:
    type: arduino

external_components:
  - source: github://nrandell/dallasng
# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "285GjdzBPDY9lgqV9/f3IKgSBsjeFzzZ9L6KcnfSpDw="

ota:
  password: "acc426192dc948bcd63ba662ed0e21de"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esp32-Wroom32 Fallback Hotspot"
    password: "U6Z720lW4efy"

  manual_ip:
    # Set this to the IP of the ESP
    static_ip: 192.168.2.140
    # Set this to the IP address of the router. Often ends with .1
    gateway: 192.168.2.1
    # The subnet of the network. 255.255.255.0 works for most home networks.
    subnet: 255.255.255.0
    dns1: 192.168.2.1
    dns2: 8.8.8.8     

captive_portal:

mqtt:
  broker: 192.168.2.75
  port: 1883
  username: mqtt-gaitolini
  password: gaitolini
  
  discovery: true
  discovery_retain: true

  birth_message:
    topic: esp32-wroom32/status
    payload: online
  will_message:
    topic: esp32-wroom32/status
    payload: offline" 
  log_topic: 
    topic: esp32-wroom32/log 
    level: ERROR
    qos: 0  

dallasng:
  - pin: 04
    update_interval: 3s

# dallas:
#   - update_interval: 5s
#     pin: GPIO02
#     id: dallas1

# Individual sensors
sensor:
  # - platform: dallas
  - platform: dallasng
    index: 0
    # address: 0x1c0000031edd2a28
    name: "temperatura Água Piscina"
    id: sensor_temp_agua
    resolution: 12
    force_update: True 
    device_class: temperature
    expire_after: 1000s
    filters:
      - filter_out: NAN


# Você pode usar um índice ou um endereço. 
# O índice é ideal se você tiver apenas um único sensor, mas com vários sensores é melhor usar um endereço.

A eletrônica vai toda na boia ou só o sensor?

Se for tudo na boia, vc pode aplicar um verniz que usam em placas de geladeira e de lavar roupas nos circuitos.
Não vai ficar a prova d’água mas vai ajudar contra pequenos respingos e umidade.

A eletrônica vai toda na boia. A ideia de usar o verniz foi muito boa, vou pesquisar onde compra no mercado livre.
Acredito que uma bateria de celular de conta, mesmo sabendo que o ES32 e família são Gastão. Dependo uso um ESP-01.

Painéis solar para manter a carga na bateria e programar para dormir a noite.

Não faço ideia da variação de temperatura e outros parâmetros que vc vai monitorar na piscina, mas se conseguir deixar a atualização com tempo maior, talvez consiga autonomia para o dia e a noite.
Faz algumas leituras por alguns segundos, gera uma média e dorme por uns 10 ou 30 minutos

Cuidado com circuito de bateria a maioria dos circuitos vendidos como carregador ou como bms não faz realmente o carregamento adequado pra bateria de lítio. Sobre bateria se fazer com espnow dura tranquilo mas não sei se funciona bem com o esphome. Ele teria que entrar em deep sleep, acordar ler os sensores enviar por espnow pra outro esp que está ligado na tomada e voltar pra deep sleep. Usando espnow, o esp consegue acordar e mandar dado muito mais rápido que Wi-Fi então ele fica ligado uma % de tempo menor a longo prazo economizando muita bateria.

E última coisa eu acredito que tenha um tipo especial de cano que da pra colocar o sensor dentro do cano. Ai da pra deixar perto da bomba da piscina e não precisa de bateria. Não sei o nome disso mas sei que com aquecimento solar de piscina geralmente adiciona dois sensores de temperatura em pontos diferentes no próprio cano.

Outra dica se for usar usar bateria, não usa esp01 não. Procura as variante do esp32 com arquitetura risc-V. Tipo esp32-c3. Eles são bem mais eficientes que os arm, se não me engano o c3 consume umas 5 vezes menos que o 32 normal.

1 Like