Wenn ich es richtig verstehe, kann man über
response_variable: resultvariable
aus einem Script (z.B. das Ergebnis einer Berechnung) an den Aufrufer (z.B. anderes Script oder Automation zurückgeben.
Da ich mir vorgenommen habe, grundsätzliche Dinge des HA besser zu versehen, wollte ich ein Script machen “ist_schaltjahr” welches true oder false zurückliefern soll.
Das script
alias: ist Schaltjahr?
sequence:
- variables:
istschaltjahr: >-
{{ iif( (now().year % 400) == 0) or ( (now().year % 4) == 0) and (not(
(now().year % 100) == 0)) }}
- service: notify.telegram_jo
metadata: {}
data:
message: Script ist Schaltjahr? {{istschaltjahr}} {{ now() }}
- stop: returning - nicht sicher ob stop wirklich nötig ist für den Rückgabewert
response_variable: istschaltjahr
mode: single
icon: mdi:calendar-badge-outline
fields: {}
läuft direkt ausgeführt einwandfrei.
Die Automation sieht so aus:
alias: ZZ Test Schaltjahr Autom. -> Script
description: Test des Scripts ist_schaltjahr
trigger: []
condition: []
action:
- variables:
istschaltjahr: false
- service: notify.telegram_jo
metadata: {}
data:
message: >-
ZZ Test Schaltjahr Autom. -> Script Ausgabe1 Titel Test über script ist
Schaltjahr = {{ istschaltjahr }}
- service: script.ist_schaltjahr
response_variable: ist_schaltjahr
metadata: {}
data: {}
- service: notify.telegram_jo
metadata: {}
data:
message: >-
ZZ Test Schaltjahr Autom. -> Script Ausgabe2 Über script ist Schaltjahr
= {{ ist_schaltjahr }} .
mode: single
Beim Aufruf erfolgt die erste Ausgabe in der Automation, die Ausgabe im Script dann geht es aber nicht weiter
Die Analyse im Trace zeigt folgendes
Ich habe schon alles Mögliche versucht, aer ich komme nicht weiter.
Hat jemand eine Idee?
Danke und beste Grüße
Jo
