Sensor de Chuva

Olá pessoal,

Mais um dos projetos compartilhados no grupo por nosso amigo @jhbcosta :slight_smile:

Projeto Original
No projeto original José programou na IDE do arduino e usou uma placa solar para para não ligar na energia, e usou o deep sleep para economizar energia, ficou muito show!

Eu vou compartilhar um mais básico que fiz.
Vai precisar de:
1 - Nodecum
placa_nodecum
1 - Sensor de chuva
sensor_chuva

Ligação
Sensor de Chuva (GND) = Nodecum (GND)
Sensor de Chuva (VCC) = Nodecum (3v)
Sensor de Chuva (A0) = Nodecum (A0)
Sensor de Chuva (D0) = Nodecum (D6)

Código
Agora tem que subir o firmware Tasmota para o Nodecum, caso não saiba como fazer, confira este tutorial: Tasmota, MQTT, Broker Mosquitto
O nodecum já com Tasmota, vc vai em Configuration > Configure Module:

Funcionamento
Quando o sensor detectar chuva, a luz verde vai acender e o RELE1 do tasmota vai ligar. O Sensor (A0) vai mostrar o quanto da placa foi coberta por agua.

Código no HA
Dentro no configuration.yaml colocar os códigos:

binary_sensor:
  - platform: mqtt
    name: 'Sensor de Chuva'
    state_topic: "stat/central_alarme/POWER"
    payload_on: "ON"
    payload_off: "OFF"
    device_class: moisture

sensor:
  - platform: mqtt
    name: "Intensidade da Chuva"
    state_topic: "tele/central_alarme/SENSOR"
    unit_of_measurement: 'ml/s'
    value_template: "{{ value_json.ANALOG.A0 }}"

Exemplo de Automação
Para automação estou usando a porta digital. Dentro do arquivo automation.yaml

- alias: "Esta chovendo, aqui ta chovendo!"
  initial_state: true
  trigger:
  - platform: state
    entity_id: binary_sensor.sensor_de_chuva
    from: 'off'
    to: 'on'
  condition:
    condition: time
    after: '08:00:00'
    before: '22:30:00'
  action:
  - service: media_player.play_media
    data_template:
      entity_id: "media_player.casa_toda"
      media_content_id: "http://www.audiosengracados.com.br/wp-content/uploads/2018/11/T%C3%A1-chovendo-ai-Aqui-t%C3%A1-chovendo-original.mp3"
      media_content_type: "music"

Exemplo de template de sensor:

status_chuva
Para saber a força da chuva eu criei um template, para monitorar a força da chuva usando o sensor da intensidade. Dentro de configuration.yaml em sensor:

  - platform: template
    sensors:  
      chuva_status:
        friendly_name_template: Status da Chuva
        value_template: >-
          {% if states('sensor.intensidade_da_chuva')|float > 900 %}
            Sem chuva
          {% elif states('sensor.intensidade_da_chuva')|float > 300 %}
            Chuvando
          {% else %}
            Super Chuva
          {% endif %}
        icon_template: >-
          {% if states('sensor.intensidade_da_chuva')|float > 900 %}
            mdi:white-balance-sunny
          {% elif states('sensor.intensidade_da_chuva')|float > 300 %}
            mdi:weather-pouring
          {% else %}
            mdi:weather-lightning-rainy
          {% endif %}  

Acho que é isto… A automação ainda tem que melhorar, colocar um delay talvez, ainda não sei … é que não choveu ainda e não sei como vai ser, mas como está a cada troca de off para on ele vai ativar …

Se tiverem melhorias compartilhem também! Valeu!

Abraço

10 Likes

Boa, @Leonardo!! :heart:

Parabéns pela iniciativa!!

1 Like

@Leonardo, ficou legal! A case foi impressa com filamento ASA?

Olá @steniofilho!

O case é meu. Eu acho que foi impresso com PLA.

Abraços,
José Henrique.

Li ontem sobre o ASA e fiquei curioso porque ele é indicado para cases que terão contato com muita umidade e ultra violeta. Bom, quem tem impressora e filamento, vai imprimindo cases novas até cansar. :rofl: Valeu. Um abraço

1 Like

Eu fiz um parecido com esse. Mas preguiçoso que sou, fiz aquela versão que usa um sensor de abertura de porta (usei o da xiaomi, mas acredito que funcione até com os 433mhz). Fica menos sofisticado porque é binário (molhado/não molhado), mas resolve pra avisar na hora de fechar as janelas. Um problema dele, e dai pergunto se esse é mais preciso nisso, é que normalmente ele demora um bocado a secar. Então já parou de chover faz tempo, mas o sensor ainda marca como molhado.

1 Like

Como você usei sensor de abertura de porta também, usei zwave, o primeiro uso para controlar se ativa a irrigação ou não, pois como o seu este também demora a secar, é feito para demorar mesmo; o segundo que funciona para aviso instantâneo eu montei com uma tampa de garrafa de leite, são dois filamentos de cobre, próximos um ao outro, quando cai as primeiras gotas a água fecha o circuito e recebo a notificação, no extremo tem dois furos para escorrer a água, está instalado em um ângulo de trinta graus, fotos em anexo.

4 Likes

Muito bom o Projeto. Eu fiz como o colega mencionou acima com um sensor de porta da Tuya com uma placa de chuva (binario e demoara para secar). o problema é que náo consigo chamar no HA.

Existe uma forma de chamar sensor de porta e inundação da Tuya no HA?

agradeço ajuda.

Montei hoje o meu projeto de sensor de chuva, mas tenho um problema.

Se eu entrar por browser, vejo que atualiza instantâneo o estado da chuva, mas no homeassistant isso não está acontecer, podem ajudar?

Estou a usar nodecum V3 e tasmota 8.5.1

1 Like

Já encontrei a solução

Por defeito vem 300s, e com este comando, colocamos o tempo de atualização que quisermos

TelePeriod XX

2 Likes

Alguém já conseguiu usar ele com o ESPHome?

1 Like

Olá CLyra, utilizo os mesmo sensores que você e para resolver o problema da água acumulada, instalei-o de uma maneira que posso ajustar a inclinação, assim quanto mais inclinado mais rápido é a mudança de estado!!!
Abraços

Oi,

Ah sim… eu faço isso tb. Mas acho que teria que deixar quase que na vertical pra ir mais rapido. Aqueles dias em que chove e continua nublado/frio são os mais complicados pra resolver.

verdade, eu tenho uma cobertura na cozinha de vidro, e ele é retrátil, para mim é útil ele secar no mesma velocidade da cobertura, pois antes de usar este sensor eu usava o do tempo, e muitas vezes parava de chover mas a coberturar continuava molhada e assim molhava toda a cozinha.
abraços

Caros,

Baseado nesse post: ☔ DIY Zigbee rain gauge - Share your Projects! - Home Assistant Community, resolvi fazer um “upgrade” no meu sensor de chuva original. Encomendei a caixinha do aliexpress e montei hoje o sensor!

Basicamente tem uma “gangorra” dentro da caixinha e cada vez que ela alterna aciona o sensor de abertura. Baseado nesse acionamento vc cria um sensor que conta quantas vezes foi acionado e outro que transforma o contador em mm de chuva baseado numa conta +/- simples.

Na bancada ta funcionando… agora é esperar chover pra ver como se comporta :-).

4 Likes

Fiz aqui esse projeto e estou muito satisfeito com o resultado. Saber a quantidade de chuva ajuda muito no meu caso que uso o sensor para ligar e desligar a rega.

Se chove muito passa mais tempo desligada se chove pouco menos tempo desligado ele fica.

1 Like

tá usando o grafana? ficou muito legal o painel. Pode compartilhar?

O da direita embaixo (chuva por dia) é gafana, os outros são custom components do HACS.

É a primeira vez que compartilho um painel, espero que seja assim.

Ai além do estado da chuva tem o estado da rega.

  - title: Exterior
path: exterior
icon: 'mdi:flower'
visible:
  - user: f069330068d14882a26ba1095cace6b1
  - user: 19f46764344a44be910b9c6bc263780f
  - user: b3ea6f45794a45a0bb64706d28b5227f
badges:
  - entity: binary_sensor.chuva
cards:
  - type: 'custom:bar-card'
    entities:
      - icon: 'mdi:thermometer'
        unit_of_measurement: Cº
        min: '-5'
        max: '35'
        decimal: '1'
        entity: sensor.th_10_si7021_temperature
        name: Temperatura
      - icon: 'mdi:water-percent'
        min: '10'
        max: '100'
        decimal: '0'
        entity: sensor.th_10_si7021_humidity
        name: Humidade
      - icon: 'mdi:weather-rainy'
        entity: sensor.chuva_hoje
        min: '0'
        max: '100'
        decimal: '1'
    positions:
      icon: inside
      indicator: inside
      name: inside
      minmax: 'off'
      value: outside
    animation:
      state: 'on'
      speed: '5'
    style: |-
      bar-card-value {
        margin-right: auto;
        font-size: 15px;
        font-weight: bold;
        text-shadow: 1px 1px #0005;
      }
    title: Exterior
    height: '5'
  - type: glance
    entities:
      - entity: sensor.estado_da_chuva
    show_icon: false
    show_name: false
    state_color: false
  - type: vertical-stack
    title: Sistema de Rega
    cards:
      - type: horizontal-stack
        cards:
          - type: button
            tap_action:
              action: toggle
            entity: switch.rega_automatica
            icon: 'mdi:power'
          - type: button
            tap_action:
              action: toggle
            entity: switch.rega_lateral
          - type: button
            tap_action:
              action: toggle
            entity: switch.rega_fundo
      - type: entities
        title: Estado do agendamento
        entities:
          - entity: sensor.estado_rega_automatica
            name: Lateral Manhã
            icon: 'mdi:calendar-clock'
          - entity: sensor.estado_rega_lateral_tarde
            name: Lateral Tarde
            icon: 'mdi:calendar-clock'
          - entity: sensor.estado_rega_fundo_manha
            name: Fundo Manhã
            icon: 'mdi:calendar-clock'
      - type: glance
        entities:
          - entity: input_select.rega_lateral_manha
            name: Lateral Mannhã
          - entity: input_select.rega_lateral_tarde
            name: Lateral Tarde
          - entity: input_select.rega_fundo_manha
            name: Fundo Manhã
        state_color: false
        title: Tempo da Rega
  - aggregate_func: max
    color_thresholds:
      - color: '#5E96F9'
        value: 0.2
      - color: '#e7e5e5'
        value: 0
    entities:
      - entity: sensor.chuva_por_hora
        name: Chuva por hora
    group_by: hour
    hour24: true
    hours_to_show: 24
    icon: 'mdi:weather-rainy'
    points_per_hour: 1
    show:
      graph: bar
    animate: true
    lower_bound: 0
    upper_bound: 8
    type: 'custom:mini-graph-card'
  - type: iframe
    url: >-
      https://10.20.30.111:9123/api/hassio_ingress/KtWI-dxfjsF__21V7aZEdTE48Kw45dIEuzTt-zCuVuw/d-solo/qZ8ZmZIGk/conforto?orgId=1&refresh=5m&panelId=6"
      width="450" height="200" frameborder="0"
    aspect_ratio: 50%
1 Like

Acho que deu certo, mas confirma ai como vc criou o sensor.estado_da_chuva e o sensor.chuva_por_hora? Imagino que vc repetiu o sensor diario, mas alterando o template para zerar a cada hora. E o estado da chuva é um template que verifica quando foi a ultima contagem - um tempo X?

algo como:

chuva_agora:
          friendly_name: Chuva Agora
          value_template: >-
            {{{ states.binary_sensor.door_window_sensor_1xxxx19e03db.last_changed > now() - timedelta( minutes=10 )  }}

Alguem mais montou esse sensor de chuva? Os dados que eu to coletando não estão batendo muito bem com o que o pluviometro “tradicional”. Possivelmente vai precisar de alguns ajustes.