Hallo Zusammen,
ich habe mit folgendem Code in meiner config.yaml den Regenradar von morgenwirdes integriert:
- platform: rest
name: regenradar
scan_interval: 300
json_attributes:
- raintext
- rainin30min
- rainin60min
- rainin120min
- rainin180min
- rainin240min
resource: https://morgenwirdes.de/api/v3/rain.php?lat=xx.xxx&long=x.xxx
value_template: "{{ value_json.raintext }}"
- platform: template
sensors:
rrraintext:
friendly_name: "Regen Vorhersage Home"
value_template: "{{ state_attr('sensor.regenradar', 'raintext') }}"
Funktioniert auch soweit alles gut. (Die Qualität der Daten muss ich mal noch schauen wie gut die ist
Jetzt habe ich mir eine Automation gebaut, welche mir eine Ansage per Alexa und eine Nachricht über Telegram vorliest/schreiben wenn es eine Meldung gibt, dass es regnen soll.
Das mache ich mit folgender Automation:
alias: Sprachansage wenn Regen in nächsten 2 Stunden
description: ""
trigger:
- platform: state
entity_id:
- sensor.rrraintext
from: Kein Regen in den nächsten zwei Stunden
id: Regen
- platform: state
entity_id:
- sensor.rrraintext
id: kein Regen
to: Kein Regen in den nächsten zwei Stunden
condition: []
action:
- if:
- condition: state
state: "off"
entity_id: input_boolean.ich_bin_im_bett
- condition: not
conditions:
- condition: state
entity_id: sensor.rrraintext
state: unknown
- condition: state
entity_id: sensor.rrraintext
state: unavailable
- condition: trigger
id: Regen
then:
- service: script.alexa_sprachausgabe_og_komplett
data:
message: "{{ states('sensor.rrraintext') }} "
- service: scene.create
data:
scene_id: lights_previous_state
snapshot_entities: light.mondo_wand
- service: notify.telegram_m
data:
title: 🌧️ Regenvorhersage
message: "{{ states('sensor.rrraintext') }}"
- service: light.turn_on
data:
brightness: 255
rgb_color:
- 0
- 50
- 250
target:
entity_id:
- light.mondo_wand
- service: light.turn_on
data:
brightness: 255
flash: long
target:
entity_id:
- light.mondo_wand
- delay:
hours: 0
minutes: 0
seconds: 15
milliseconds: 0
- service: scene.turn_on
data:
entity_id: scene.lights_previous_state
- if:
- condition: time
after: "09:00:00"
before: "22:00:00"
- condition: not
conditions:
- condition: state
entity_id: sensor.rrraintext
state: unknown
- condition: state
entity_id: sensor.rrraintext
state: unavailable
- condition: trigger
id: Regen
then:
- service: script.alexa_sprachausgabe_eg_komlett
data:
message: "{{ states('sensor.rrraintext') }} "
- service: notify.telegram_k
data:
title: 🌧️ Regenvorhersage
message: "{{ states('sensor.rrraintext') }}"
- service: notify.telegram_w
data:
title: 🌧️ Regenvorhersage
message: "{{ states('sensor.rrraintext') }}"
- choose:
- conditions:
- condition: trigger
id: kein Regen
- condition: not
conditions:
- condition: state
entity_id: sensor.rrraintext
state: unknown
- condition: state
entity_id: sensor.rrraintext
state: unavailable
- condition: state
entity_id: input_boolean.ich_bin_im_bett
state: "off"
sequence:
- service: script.alexa_sprachausgabe_og_komplett
data:
message: "{{ states('sensor.rrraintext') }} "
- service: notify.telegram_m
data:
title: ☁️ Regenvorhersage
message: "{{ states('sensor.rrraintext') }}"
- conditions:
- condition: trigger
id: kein Regen
- condition: not
conditions:
- condition: state
entity_id: sensor.rrraintext
state: unknown
- condition: state
entity_id: sensor.rrraintext
state: unavailable
- condition: time
after: "09:00:00"
before: "22:00:00"
sequence:
- service: script.alexa_sprachausgabe_eg_komlett
data:
message: "{{ states('sensor.rrraintext') }} "
- service: notify.telegram_k
data:
title: ☁️ Regenvorhersage
message: "{{ states('sensor.rrraintext') }}"
- service: notify.telegram_w
data:
title: ☁️ Regenvorhersage
message: "{{ states('sensor.rrraintext') }}"
mode: single
Habe auch Bedingungen eingebaut, weil ich dachte ich könnte damit abfangen, wenn der Sonsor mal wieder unbekannt steht. Was natürlich quatsch ist, weil er hat ja dann den Wert unbekannt schon nicht mehr.
Im Sensor gibt es folgende Möglichkeiten bei den Werten:
- Kein Regen in den nächsten zwei Stunden
- Regen um 19:10 Uhr
- Regen von 18:00-18:10 Uhr
Habt ihr eine Idee, wie ich die Automation nur auslösen kann, wenn der Wert vorher nicht unbekannt war?