Olá pessoal,
Mais um dos projetos compartilhados no grupo por nosso amigo @jhbcosta
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
1 - Sensor de 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:
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