Wetterdaten - Rasensprenger - benötige Hilfe

Hallo :slight_smile:

erst einmal ein riesen Lob an Simon und die ganze Community! Ich bin heimlicher Mitleser und habe schon so einiges von hier via copy & paste übernommen, HomeAssistant nimmt dadurch endlich seine Gestalt an, die ich mir immer gewünscht habe und das frei von Anbietern wie Google oder Apple! Dickes Dankeschön

Doch jetzt komme ich nicht weiter und benötige eure Hilfe…ich bin eigentlich nicht der Forum Typ und habe es versucht irgendwie selber zu lösen, doch das klappt nicht, da mir auch die programmier Kentnisse fehlen, zum Problem:

Ich habe eine Parkside Zigbee Bewässerungsuhr, die je nach gefallenen Regen, “geplanter” Regen und Temperatur, den Rasen sprengen soll und zwar, je nach zuvor genannten Parametern, mit unterschiedlichen Zeiten.

Da ich dieses Projekt absolut nicht selber hinbekommen habe, habe ich mir den Code gekauft von “Smart Home Junkie”, die Automationen sowie Scripte liefen perfekt, tja bis OpenWeather seine API auf sein Bezahlmodel umgestellt hat, leider kann ich die free Version nicht nutzen, da ich keine Kreditkarte besitze und ohne hat man keinen Zugriff mehr auf die API.

Um euch wirklich um Hilfe zu fragen, müsste ich hier alles teilen, was gekauft wurde, damit habe ich kein Problem, denn Code ist Sprache für mich und Sprache ist nicht verboten (noch nicht).

Nur ist es hier erlaubt? Ich frage lieber bevor ich gesperrt werde und mein Foren Erlebnis direkt endet :slight_smile:

Was ist somit eigentlich mein Ziel?
= die OpenWeather Parts durch etwas anderes ersetzen
Aktuell habe ich Met.no getestet, hier wird vieles wiedergegeben, nur eben nicht die Regenmenge und genau die ist wichtig für die Automation

Am Ende möchte ich nur, dass mein Sprenger wieder läuft, automatiach, nicht wenn es regnet und ohne Bodensensor.

Ich nutze bei mir die tomorrow.io Integration. Wenn du den Niederschlag und die Niederschlagswahrscheinlichkeit dazu willst dann bietet das die DWD Integration.

Wie du die Forecasts wieder implementierst hat Simon schon in einem Video gezeigt.

1 „Gefällt mir“

also wenn es um eine Kreditkarte geht, dann kannst Du über Revolut z.B. virtuelle Karten anlegen und nutzen. Das geht recht einfach und Du kannst das unbegrenzt machen. Dann besteht keine Gefahr das es woanders genutzt wird.

Unabhängig davon könnte man sich ja auch eine API Schnittstelle teilen. 1000 Abrufe am Tag sind ja kostenfrei, Für die Bewässerung sind das bei mir rund 150 Abrufe/Tag, da wäre also noch Luft.

1 „Gefällt mir“

Aktueller Stand der Dinge:

Config File:

# Tägliche Wettervorhersagen
  - trigger:
      - platform: time_pattern
        hours: /1
    action:
      - service: weather.get_forecasts
        target:
          entity_id:
            - weather.forecast_home
        data:
            type: daily
        response_variable: tagesvorhersage
    sensor:
    # Hier ein Template-Sensor, der verschieden Daten der Täglichen Vorhersage als Attribute gespeichert hat
      - name: Wetter-Vorhersage des aktuellen Tages
        unique_id: forecast_day
        state: "{{ now().isoformat() }}"
        icon: mdi:hours-24
        attributes:
          condition: "{{ tagesvorhersage['weather.forecast_home'].forecast[0].condition }}"
          precipitation: "{{ tagesvorhersage['weather.forecast_home'].forecast[0].precipitation }}"
          temperature: "{{ tagesvorhersage['weather.forecast_home'].forecast[0].temperature }}"
          datetime: "{{ tagesvorhersage['weather.forecast_home'].forecast[0].datetime }}"
      # Die gute, alte Wetterentität (Nur die Vorhersage)
      - name: Wettervorhersage OldSchool-Entität
        unique_id: weather_entity_forecast_oldschool
        state: "{{ now().isoformat() }}"
        icon: mdi:hours-24
        attributes:
          forecast: "{{ tagesvorhersage['weather.forecast_home'].forecast }}"
- sensor:
      ##### Sprinkler Total Rain Fallen Plus Expected ##################################
      - name: "Sprinkler Total Rain Fallen Plus Expected"
        unique_id: b0fafacb-9eda-463d-9ac9-bafd4d0c0a26
        icon: mdi:weather-pouring
        unit_of_measurement: mm
        state: >
          {{ (states('input_number.sprinkler_total_rain_fallen') | float(0) + states('sensor.wetter_vorhersage_precipitation') | float(0)) | round(2) }}

    ##### Sprinkler Days Since Last Watering Day ##################################
      - name: "Sprinkler Days Since Last Watering Day"
        unique_id: 89b640e1-4234-4dc8-896f-24579c130199
        icon: mdi:calendar
        state: >
          {{ ((as_timestamp(now()) - as_timestamp(states("input_datetime.sprinkler_last_watering_day"))) / 86400) | float(0) | round(2) }}

    ##### Sprinkler Current Temperature Is Higher ##################################
      - name: "Sprinkler Current Temperature Is Higher"
        unique_id: d6eba539-5ba5-49ed-bd15-27e8b0f21e3b
        icon: mdi:check
        state: >
          {%- if states('sensor.wetter_vorhersage_temperature') | float(0) > states('input_number.sprinkler_maximum_temperature_measured') | float(0) -%}
            true
          {%- else -%}
            false
          {%- endif %}
 
    # Abfrage Niederschlag Vorhersage
  - platform: template
    sensors:
      wetter_vorhersage_precipitation:
        friendly_name: "Niederschlag Vorhersage"
        value_template: "{{ state_attr('sensor.wetter_vorhersage_des_aktuellen_tages', 'precipitation') }}"
        
        
    # Abfrage Temperatur Vorhersage
  - platform: template
    sensors:
      wetter_vorhersage_temperature:
        friendly_name: "Temperatur Vorhersage"
        value_template: "{{ state_attr('sensor.wetter_vorhersage_des_aktuellen_tages', 'temperature') }}"

Automationen:

alias: "Sprinkler: Add Current Rain to Total Rain Fallen"
description: ""
trigger:
  - platform: state
    entity_id: sensor.wetter_vorhersage_precipitation
condition: []
action:
  - service: input_number.set_value
    data_template:
      entity_id: input_number.sprinkler_total_rain_fallen
      value: >-
        {{ states("input_number.sprinkler_total_rain_fallen")|float(0) +
        states("sensor.wetter_vorhersage_precipitation")|float(0) }}
mode: single
alias: "Sprinkler: Check if Garden should be Watered"
description: ""
trigger:
  - platform: sun
    event: sunrise
    offset: "+01:00:00"
condition: []
action:
  - choose:
      - conditions:
          - condition: numeric_state
            entity_id: input_number.sprinkler_maximum_temperature_measured
            above: 30
          - condition: numeric_state
            entity_id: sensor.sprinkler_total_rain_fallen_plus_expected
            below: 25
        sequence:
          - service: number.set_value
            target:
              entity_id: number.wasserhahn_draussen_timer_duration
            data:
              value: 40
          - service: script.1709898823225
            data: {}
          - service: script.1709896625281
            data: {}
      - conditions:
          - condition: numeric_state
            entity_id: sensor.sprinkler_days_since_last_watering_day
            above: 2
            below: 4
          - condition: numeric_state
            entity_id: input_number.sprinkler_maximum_temperature_measured
            above: 25
            below: 30
          - condition: numeric_state
            entity_id: sensor.sprinkler_total_rain_fallen_plus_expected
            below: 20
        sequence:
          - service: number.set_value
            target:
              entity_id: number.wasserhahn_draussen_timer_duration
            data:
              value: 30
          - service: script.1709898823225
            data: {}
          - service: script.1709896625281
            data: {}
      - conditions:
          - condition: numeric_state
            entity_id: sensor.sprinkler_days_since_last_watering_day
            above: 3
            below: 5
          - condition: numeric_state
            entity_id: input_number.sprinkler_maximum_temperature_measured
            above: 20
            below: 25
          - condition: numeric_state
            entity_id: sensor.sprinkler_total_rain_fallen_plus_expected
            below: 15
        sequence:
          - service: number.set_value
            target:
              entity_id: number.wasserhahn_draussen_timer_duration
            data:
              value: 20
          - service: script.1709898823225
            data: {}
          - service: script.1709896625281
            data: {}
      - conditions:
          - condition: numeric_state
            entity_id: sensor.sprinkler_days_since_last_watering_day
            above: 3
            below: 5
          - condition: numeric_state
            entity_id: input_number.sprinkler_maximum_temperature_measured
            above: 15
            below: 20
          - condition: numeric_state
            entity_id: sensor.sprinkler_total_rain_fallen_plus_expected
            below: 10
        sequence:
          - service: number.set_value
            target:
              entity_id: number.wasserhahn_draussen_timer_duration
            data:
              value: 10
          - service: script.1709898823225
            data: {}
          - service: script.1709896625281
            data: {}
      - conditions:
          - condition: numeric_state
            entity_id: sensor.sprinkler_days_since_last_watering_day
            above: 4
        sequence:
          - service: script.1709896625281
            data: {}
    default: []
mode: single
alias: >-
  Sprinkler: Check if Sprinkler is still running after a reboot of Home
  Assistant
description: ""
trigger:
  - platform: homeassistant
    event: start
condition: []
action:
  - repeat:
      until:
        - condition: not
          conditions:
            - condition: state
              entity_id: switch.wasserhahn_drausen_switch
              state: unknown
      sequence:
        - delay:
            minutes: 1
  - if:
      - condition: device
        type: is_on
        device_id: c1a9c19f401d41b8f8f87f35e9808cdf
        entity_id: 6d3387697ac10e390aa5a96a1825e39b
        domain: switch
    then:
      - service: switch.turn_off
        data:
          entity_id: switch.wasserhahn_drausen_switch
      - service: script.1709896625281
        data: {}
mode: single
alias: "Sprinkler: Check Maximum Temperature when Temperature Changes"
description: ""
trigger:
  - platform: state
    entity_id: sensor.wetter_vorhersage_temperature
condition:
  - condition: state
    entity_id: sensor.sprinkler_current_temperature_is_higher
    state: "true"
action:
  - service: input_number.set_value
    data_template:
      value: "{{ states('sensor.wetter_vorhersage_temperature') }}"
    target:
      entity_id: input_number.sprinkler_maximum_temperature_measured
mode: single

Skripte:

alias: "Sprinkler: Reset Helper Values"
icon: mdi:refresh
sequence:
  - service: input_number.set_value
    data:
      value: 0
    target:
      entity_id: input_number.sprinkler_total_rain_fallen
  - service: number.set_value
    data:
      value: 0
    target:
      entity_id: number.wasserhahn_draussen_timer_duration
  - service: input_datetime.set_datetime
    data_template:
      datetime: "{{ now() }}"
    target:
      entity_id: input_datetime.sprinkler_last_watering_day
  - service: input_number.set_value
    data_template:
      value: "{{ states('sensor.wetter_vorhersage_temperature') }}"
    target:
      entity_id: input_number.sprinkler_maximum_temperature_measured
mode: single
alias: "Sprinkler: Water the Garden"
icon: mdi:sprinkler
sequence:
  - service: switch.turn_on
    target:
      entity_id: switch.wasserhahn_drausen_switch
    data: {}
  - delay:
      minutes: "{{ states('number.wasserhahn_draussen_timer_duration') | int }}"
  - service: switch.turn_off
    target:
      entity_id: switch.wasserhahn_drausen_switch
    data: {}
mode: single

Alle Date stammen von Simon oder von SmartHomeJunkie + meine nun angepassten Sachen … ob es läuft? Kann ich noch nicht sagen, muss abwarten was die Sensoren aus den Werten machen, heute lief der Sprenger nicht, da 1. Gestern gesprengt und 2. es regnen soll heute

Ich habe mich nun für met.no entschieden um die Wetterdaten zu ziehen

Habt ihr Verbesserungsvorschläge? Immer gerne her damit

Automationen laufen super!

Nur jetzt ist der Parkside Bewässerungscomputer mir gestorben, nach einem Jahr -.-

Habt ihr Alternativen die via Zigbee laufen? Es müsste Batterie betrieben sein… Ich dachte ich hätte was von tuya gesehen, was neu rauskam, finde es aber hier nicht wieder

Alles was man so findet ist nicht wirklich das gelbe vom Ei und Parkside Zigbee ist ausverkauft

Projekt smarte Bewässerung somit auf Eis gelegt, schade