هل ستمطر اليوم؟

معرفة ما إذا كانت ستمطر اليوم هو سؤال بالغ الأهمية للكثيرين، حيث يؤثر على الخطط والأنشطة اليومية. توضح هذه المقالة طريقة لاستخدام بيانات الطقس من 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 

يوفر هذا النظام حلاً قويًا للإجابة على سؤال “هل ستمطر اليوم؟” وأتمتة المهام مثل التحكم في الرشاشات بناءً على الإجابة. تساعد معرفة شدة هطول الأمطار المتوقعة على توقع هطول الأمطار وتجنب الري غير الضروري.

Leave A Comment

Name*
Message*