# Ajuda com sensor de chuva

**URL:** https://forum.cpha.pt/t/ajuda-com-sensor-de-chuva/13657
**Category:** Dúvidas
**Created:** [9 Abril , 2024 17:23 UTC](https://forum.cpha.pt/t/ajuda-com-sensor-de-chuva/13657 "2024-04-09T17:23:40Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![LuaR](https://forum.cpha.pt/user_avatar/forum.cpha.pt/luar/32/16442_2.png) [@LuaR](https://forum.cpha.pt/u/LuaR)
#### Post date: [9 Abril , 2024 17:23 UTC](https://forum.cpha.pt/t/ajuda-com-sensor-de-chuva/13657/1 "2024-04-09T17:23:40Z")

</div>

Fiz um sensor de chuva como indicado neste [website](https://github.com/hugokernel/esphome-rain-detector?tab=readme-ov-file#diagram-for-connecting-the-rain-detection-sensor).

Aqui a imagem:

 ![](https://forum.cpha.pt/uploads/default/original/3X/f/5/f5b3919d984ba3f3e7c24105400bd78ff364bee5.png)

Utilizei uma resistência igual a da imagem (1000ohm)

Coloquei o código no ESPhome:

```auto
esphome:
  name: rain-sensor
  friendly_name: rain-sensor

esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "liC61y1Npw1PK/RBfiG1vdaS0n0SKLzsgCSCSrlskcU="

ota:
  password: "16eea3eb58797448c81e1be86799b374"

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

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Rain-Sensor Fallback Hotspot"
    password: "rPc7XbsKnszN"

captive_portal:

sensor:
  - platform: adc
    id: source_sensor
    pin: GPIO33
    name: ADC
    attenuation: 11db
    internal: true

    # It is important to have a low update interval so that
    # the measurement has time to be done correctly during
    # the activation of the voltage AND taking into account the median filter
    update_interval: 250ms

    filters:
      - multiply: 0.846153 # 3.9 (11db attenuation full-scale voltage) -> 3.3V
      - median:
          window_size: 7
          send_every: 4
          send_first_at: 3

  - platform: resistance
    sensor: source_sensor
    id: real_resistance_sensor
    name: "rain resistance"
    configuration: DOWNSTREAM
    resistor: 1000
    reference_voltage: 3.3V
    internal: true
    icon: "mdi:omega"
    filters:
      - lambda: 'return max((float)$min_resistance, x);'
      - lambda: 'return min((float)$max_resistance, x);'
    on_value:
      then:
        - if:
            condition:
              lambda: |-
                  return (
                      id(real_resistance_sensor).state > $min_resistance
                      &&
                      id(real_resistance_sensor).state <= $max_resistance
                  );
            then:
              - sensor.template.publish:
                  id: resistance_sensor
                  state: !lambda 'return id(real_resistance_sensor).state;'

switch:
  - platform: gpio
    id: resistance_bias
    name: "rain resistance bias"
    icon: "mdi:power"
    pin:
      number: GPIO19
      mode: OUTPUT

```

mas quando tento instalar, recebo este erro:

```auto
INFO ESPHome 2024.3.2
INFO Reading configuration /config/esphome/rain-sensor.yaml...
Failed config

sensor.resistance: [source /config/esphome/rain-sensor.yaml:52]
  platform: resistance
  sensor: source_sensor
  id: real_resistance_sensor
  name: rain resistance
  configuration: DOWNSTREAM
  resistor: 1000
  reference_voltage: 3.3V
  internal: True
  icon: mdi:omega
  filters: 
    - lambda: return max((float)$min_resistance, x);
    - lambda: return min((float)$max_resistance, x);
  on_value: 
    then: 
      - if: 
          condition: 
            lambda: |-
              return (
                  id(real_resistance_sensor).state > $min_resistance
                  &&
                  id(real_resistance_sensor).state <= $max_resistance
              );
          then: 
            - 
              Unable to find action with the name 'sensor.template.publish'.
              sensor.template.publish: 
                id: resistance_sensor
                state: !lambda |-
                  return id(real_resistance_sensor).state;

```

Eu tenho outro sensor instalado, mas pelo que percebi, este dura mais tempo.

Será que alguém me pode indicar o que estou a fazer de errado?

---

<div class="post-metadata">

### Author: ![Duarte\_Santos](https://forum.cpha.pt/user_avatar/forum.cpha.pt/duarte_santos/32/15964_2.png) [@Duarte\_Santos](https://forum.cpha.pt/u/Duarte_Santos)
#### Post date: [9 Abril , 2024 20:51 UTC](https://forum.cpha.pt/t/ajuda-com-sensor-de-chuva/13657/2 "2024-04-09T20:51:26Z")

</div>

> [@LuaR](#):
>
> `Unable to find action with the name 'sensor.template.publish'`

parece que estas a chamar um sensor que não existe.

experimenta alterar o id: para real\_resistance\_sensor

---

<div class="post-metadata">

### Author: ![LuaR](https://forum.cpha.pt/user_avatar/forum.cpha.pt/luar/32/16442_2.png) [@LuaR](https://forum.cpha.pt/u/LuaR)
#### Post date: [9 Abril , 2024 22:05 UTC](https://forum.cpha.pt/t/ajuda-com-sensor-de-chuva/13657/3 "2024-04-09T22:05:15Z")

</div>

> [@LuaR](#):
>
> ```auto
> esphome:
> name: rain-sensor
> friendly_name: rain-sensor
> 
> esp32:
> board: esp32dev
> framework:
> type: arduino
> 
> # Enable logging
> logger:
> 
> # Enable Home Assistant API
> api:
> encryption:
> key: "liC61y1Npw1PK/RBfiG1vdaS0n0SKLzsgCSCSrlskcU="
> 
> ota:
> password: "16eea3eb58797448c81e1be86799b374"
> 
> wifi:
> ssid: !secret wifi_ssid
> password: !secret wifi_password
> 
> # Enable fallback hotspot (captive portal) in case wifi connection fails
> ap:
> ssid: "Rain-Sensor Fallback Hotspot"
> password: "rPc7XbsKnszN"
> 
> captive_portal:
> 
> sensor:
> - platform: adc
> id: source_sensor
> pin: GPIO33
> name: ADC
> attenuation: 11db
> internal: true
> 
> # It is important to have a low update interval so that
> # the measurement has time to be done correctly during
> # the activation of the voltage AND taking into account the median filter
> update_interval: 250ms
> 
> filters:
> - multiply: 0.846153 # 3.9 (11db attenuation full-scale voltage) -> 3.3V
> - median:
> window_size: 7
> send_every: 4
> send_first_at: 3
> 
> - platform: resistance
> sensor: source_sensor
> id: real_resistance_sensor
> name: "rain resistance"
> configuration: DOWNSTREAM
> resistor: 1000
> reference_voltage: 3.3V
> internal: true
> icon: "mdi:omega"
> filters:
> - lambda: 'return max((float)$min_resistance, x);'
> - lambda: 'return min((float)$max_resistance, x);'
> on_value:
> then:
> - if:
> condition:
> lambda: |-
> return (
> id(real_resistance_sensor).state > $min_resistance
> &&
> id(real_resistance_sensor).state <= $max_resistance
> );
> then:
> - sensor.template.publish:
> id: resistance_sensor
> state: !lambda 'return id(real_resistance_sensor).state;'
> 
> switch:
> - platform: gpio
> id: resistance_bias
> name: "rain resistance bias"
> icon: "mdi:power"
> pin:
> number: GPIO19
> mode: OUTPUT
> 
> ```

Obrigado pela atenção mas não deu. Se calhar mudei o ID errado.  
Qual é o que devo trocar?

---

<div class="post-metadata">

### Author: ![nikito7](https://forum.cpha.pt/user_avatar/forum.cpha.pt/nikito7/32/18185_2.png) [@nikito7](https://forum.cpha.pt/u/nikito7)
#### Post date: [9 Abril , 2024 23:39 UTC](https://forum.cpha.pt/t/ajuda-com-sensor-de-chuva/13657/4 "2024-04-09T23:39:29Z")

</div>

Tens de criar o sensor template primeiro

```auto
sensor:
  - platform: template
    name: "test"
    id: test

```

---

<div class="post-metadata">

### Author: ![Duarte\_Santos](https://forum.cpha.pt/user_avatar/forum.cpha.pt/duarte_santos/32/15964_2.png) [@Duarte\_Santos](https://forum.cpha.pt/u/Duarte_Santos)
#### Post date: [10 Abril , 2024 21:20 UTC](https://forum.cpha.pt/t/ajuda-com-sensor-de-chuva/13657/5 "2024-04-10T21:20:38Z")

</div>

- platform: template  
name: “resistance\_sensor”  
id: resistance\_sensor

faz o que o easyhan disse e acrescenta isto ao teu ficheiro e já vai dar.

---

<div class="post-metadata">

### Author: ![LuaR](https://forum.cpha.pt/user_avatar/forum.cpha.pt/luar/32/16442_2.png) [@LuaR](https://forum.cpha.pt/u/LuaR)
#### Post date: [11 Abril , 2024 00:28 UTC](https://forum.cpha.pt/t/ajuda-com-sensor-de-chuva/13657/6 "2024-04-11T00:28:19Z")

</div>

Obrigado pelas dicas!! 👍
