Biết trời có mưa hôm nay hay không là câu hỏi quan trọng ảnh hưởng đến kế hoạch hàng ngày. Bài viết này hướng dẫn cách sử dụng dữ liệu thời tiết Dark Sky trong Home Assistant để xác định khả năng mưa và tự động hóa các hành động dựa trên dự báo.
API của Dark Sky cho phép truy xuất điều kiện thời tiết hiện tại và tương lai. Bạn có thể chỉ định số ngày và giờ cần dự báo, cùng với các thông số thời tiết cụ thể cần theo dõi, chẳng hạn như xác suất và cường độ mưa. Điều này cho phép kiểm soát chi tiết dữ liệu nhận được.
sensor:
- platform: darksky
api_key: YOUR_API_KEY
forecast:
- 0
- 1
hourly_forecast:
- 0
- 1
monitored_conditions:
- precip_intensity
- precip_type
- precip_probability
Vì Dark Sky không cung cấp dữ liệu lịch sử, nên một boolean đầu vào được sử dụng để theo dõi trời có mưa ngày hôm trước hay không. Boolean này sẽ được đặt bởi một tự động hóa và đặt lại mỗi sáng.
input_boolean:
rained_yesterday:
name: Mưa hôm qua
icon: mdi:weather-pouring
Một tự động hóa được kích hoạt mỗi giờ 15 phút để kiểm tra cường độ mưa hiện tại. Nếu cường độ vượt quá ngưỡng định trước (ví dụ: 0,5 mm/giờ, cho thấy mưa vừa), boolean “rained_yesterday” được đặt thành true.
- alias: rain_meter
trigger:
# Chạy mỗi 1 giờ 15 phút.
platform: time_pattern
hours: "/1"
minutes: "15"
conditions:
# Không cần làm gì nếu đã bật
- condition: state
entity_id: input_boolean.rain_meter
state: 'off'
# ... các điều kiện khác để xác nhận trời mưa ...
action:
# Trời đã mưa hôm nay. Bật lên.
service: input_boolean.turn_on
entity_id: input_boolean.rain_meter
Một tự động hóa riêng biệt, được lên lịch vào lúc 5:30 sáng, kiểm tra dự báo cho ngày hiện tại. Nếu cường độ mưa dự đoán trên ngưỡng, cho thấy khả năng có mưa, thì không có hành động nào được thực hiện. Điều này giả định rằng nếu dự báo có mưa hôm nay, boolean “rained_yesterday” vẫn còn liên quan.
- alias: Tưới cây tự động
name: Bật vòi tưới nếu không mưa.
trigger:
platform: time
at: "05:30:00"
condition:
platform: template
value_template: "{{ states('sensor.dark_sky_precip_intensity_1d') | float > 0.5 }}"
action:
service: script.turn_on_sprinklers_if_no_rain
data_template:
rain_yesterday: "{{ is_state('input_boolean.rain_meter', 'on') }}"
Cuối cùng, một script quản lý logic của hệ thống tưới. Đầu tiên, nó đặt lại boolean “rained_yesterday”. Nếu boolean này là false (cho biết hôm qua không mưa) và dự báo hôm nay không có mưa, script sẽ kích hoạt vòi tưới nước.
script:
turn_on_sprinklers_if_no_rain:
sequence:
- service: input_boolean.turn_off
entity_id: input_boolean.rain_meter
- condition: template
value_template: "{{ not rain_yesterday}}"
- service: sprinkler.turn_on
entity_id: sprinklers.money_maker
Hệ thống này cung cấp một giải pháp mạnh mẽ để trả lời câu hỏi “Hôm nay trời có mưa không?” và tự động hóa các tác vụ như điều khiển vòi tưới dựa trên câu trả lời. Sử dụng cường độ mưa dự đoán giúp dự đoán lượng mưa và tránh tưới nước không cần thiết.