معرفة ما إذا كانت ستمطر اليوم هو سؤال بالغ الأهمية للكثيرين، حيث يؤثر على الخطط والأنشطة اليومية. توضح هذه المقالة طريقة لاستخدام بيانات الطقس من Dark Sky ضمن Home Assistant لتحديد ما إذا كان من المتوقع هطول أمطار وأتمتة الإجراءات بناءً على التوقعات.
تسمح واجهة برمجة تطبيقات Dark Sky باسترداد أحوال الطقس الحالية والمستقبلية. يمكنك تحديد عدد الأيام والساعات المراد تضمينها في التوقعات، بالإضافة إلى معلمات الطقس المحددة التي تريد تتبعها، مثل احتمالية هطول الأمطار وشدتها. يسمح هذا بالتحكم الدقيق في البيانات المستلمة.
sensor:
- platform: darksky
api_key: YOUR_API_KEY
forecast:
- 0
- 1
hourly_forecast:
- 0
- 1
monitored_conditions:
- precip_intensity
- precip_type
- precip_probability
نظرًا لأن Dark Sky لا يوفر بيانات تاريخية، يتم استخدام مُدخل منطقي لتتبع ما إذا كان قد هطل المطر في اليوم السابق. سيتم تعيين هذا المُدخل المنطقي بواسطة أتمتة وإعادة تعيينه كل صباح.
input_boolean:
rained_yesterday:
name: هطول الأمطار أمس
icon: mdi:weather-pouring
يتم تشغيل أتمتة كل ساعة و 15 دقيقة للتحقق من شدة هطول الأمطار الحالية. إذا تجاوزت الشدة عتبة محددة مسبقًا (على سبيل المثال، 0.5 مم/ساعة، مما يشير إلى هطول أمطار معتدل)، يتم تعيين المُدخل المنطقي “rained_yesterday” على true.
- alias: rain_meter
trigger:
# التشغيل كل ساعة و 15 دقيقة.
platform: time_pattern
hours: "/1"
minutes: "15"
conditions:
# لا حاجة للقيام بأي شيء إذا كان هذا قيد التشغيل بالفعل
- condition: state
entity_id: input_boolean.rain_meter
state: 'off'
# ... شروط أخرى للتحقق من صحة المطر ...
action:
# هطل المطر اليوم. قم بتشغيل هذا.
service: input_boolean.turn_on
entity_id: input_boolean.rain_meter
يتم جدولة أتمتة منفصلة في الساعة 5:30 صباحًا، للتحقق من توقعات اليوم الحالي. إذا كانت شدة هطول الأمطار المتوقعة أعلى من العتبة، مما يشير إلى احتمال هطول الأمطار، فلن يتم اتخاذ أي إجراء. يفترض هذا أنه إذا تم توقع هطول أمطار اليوم، فإن المُدخل المنطقي “rained_yesterday” يظل ذا صلة.
- alias: Sprinkler Time
name: تشغيل الرشاشات إذا لم يكن هناك مطر.
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') }}"
أخيرًا، تدير نص برمجي منطق الرشاشات. يقوم أولاً بإعادة تعيين المُدخل المنطقي “rained_yesterday”. إذا كان هذا المُدخل المنطقي false (مما يشير إلى عدم هطول أمطار أمس)، ولا تتوقع توقعات اليوم هطول أمطار، فإن البرنامج النصي يقوم بتنشيط الرشاشات.
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
يوفر هذا النظام حلاً قويًا للإجابة على سؤال “هل ستمطر اليوم؟” وأتمتة المهام مثل التحكم في الرشاشات بناءً على الإجابة. تساعد معرفة شدة هطول الأمطار المتوقعة على توقع هطول الأمطار وتجنب الري غير الضروري.