Antwortvariable verwenden

Hallo Wissende,
ich habe eine Heizungsautomation mit eQ3, bei der ich die preset-modes setze, in Abhängigkeit davon ob jemand zuhause ist.
Funktioniert und ist auch nicht das Thema. Es soll nur das Beispiel sein.
Für die Modes gibt es Skripte, also zum Beispiel “script.Absenkbetrieb” setzt bestimmte TRV`s auf Eco und schickt dann eine Nachricht.
Die Skripte wiederum werden durch die Automation aufgerufen, also zum Beispiel “Heizung aus wenn nicht zuhause”.
Nun ist mir aufgefallen, dass in der Aktion der Automation steht "Dieser Dienst kann eine Antwort zurückgeben. Wenn du die Antwort verwenden möchtest, gib den Namen einer Variablen ein, in der diese Antwort gespeichert wird"
Das stelle ich mir so vor, dass immer dann, wenn das entsprechende Skript abgearbeitet wurde, irgendwo eine Variable ausgegeben wird im Sinne von “Skript Absenkbetrieb fertig”.
Das finde ich charmant, denn auf diese Weise könnte ich statt dutzender Messages nur eine einzige konfigurieren, die immer nur die jeweilige Antwortvariable als Inhalt verwendet.

Die alles entscheidende Frage ist nun: WO finde ich diese Antwortvariable?

Hat damit jemand schon mal Erfolge gefeiert?

1 „Gefällt mir“

Hast du schonmal einen Helfer versucht. Mehr würde mir da aktuell nicht einfallen.
Ich weiß, dass es die Möglichkeit seit kurzen sind. Vielleicht kannst du nochmal die Release Videos von Simon anschauen. Ich war mir sicher, dass er das irgendwo erwähnt hatte.

Hallo JC00p3R,
dein Beitrag ist sicher lieb gemeint, danke.
Aber hast du auch einen konkreten Vorschlag?

Das müsste es sein.

Danke, dass du mir noch einmal bestätigt hast, dass es die Antwortvariablen gibt.
Das war aber nicht meine Frage.

Ich hätte gerne gewusst WO ich sie finde, um sie abfragen zu können.

Ein gescheites Beispiel dazu finde ich auf die schnelle nicht. Vielleicht findest du hier noch etwas 2023.7: Responding services - #10 by jjbankert - Blog - Home Assistant Community

Hier wird beschrieben, wie man Service Calls bzw. response_variables nutzt:

Ich hoffe es ist das was du suchst.

Ich stelle die Frage mal anders:
Zur Vereinfachung habe ich eine Automation angelegt, die ein Skript ausführt (weil dieses eine Antwort zurückgeben kann):

alias: Test mit Antwortvariablen
description: ""
trigger:
  - platform: time_pattern
    seconds: "1"
condition: []
action:
  - service: script.flur_oben_kurz
    data: {}
    response_variable: Lichtantwort
mode: restart

Um die Antwort verwenden zu können, muss ich aber erst mal wissen, was drin steht.
Und um das herauszufinden, muss ich aber erst einmal wissen WO ich sie finde und wie ich sie aufrufe…

Weiß das irgendjemand?

:crayon:by HarryP: Codezeilen formatiert (bitte immer in </> einbinden)

So wie ich das bisher verstanden habe, können gewisse Dienste mit gewissen Daten antworten. Diese Antwort kann dann in einer Variable gespeichert werden.
Schau dir den Link von @sirector an, da ist das Bsp. von list_events eines calendars genannt. Auch wie man dann die Variable wieder weiter verwendet.

@maxe: Kennst du die Antwort auf meine Frage?
Falls ja, wäre ich dir dankbar, wenn du sie mir geben könntest.
Falls nein, bringt es mir auch nichts, wenn du mir sagst ich solle in @sirectors Link schauen.
Denn wenn ich daraus eine Antwort hätte ableiten können, hätte ich mich bei @sirector für den zielführenden Link bedankt und das Thema als gelöst getaggt.
Ich schließe das Thema jetzt, denn offensichtlich ist es noch zu frisch, als dass jemand konstruktiv helfen kann.
Vielleicht bringt HA das Feature voran und wird dann in naher Zukunft eine entsprechende Dokumentation mit Beispielen auflegen.

Die Doku ist da. Diese hatte ich verlinkt. Auch ist dort ein Beispiel verlinkt. Wenn du nicht mitteilen kannst, wo es bei dir hakt, dann lasst deine schlechte Laune woanders ab.

Du kackst hier alle die helfen wollen an.

Ach … irgendwie lustig …

Hallo,

also was ich bis jetzt heraus gefunden habe, ist dass man die Antwortvariable in einen Tamplate abfragen kann.
{{ Name_der_Variable }}

@pkingnt33
naja, manche versuchen wenigstens zu helfen und sind nicht so arrogant wie du.
Außer beschweren geht bei dir nix, auch anderen helfen is nicht.

Egal, ich bin raus und hab die Ignore-List bemüht.

Deine Lösungsquote liegt bei 0 und du meckerst viel mehr.

@maxe Ignorier-Liste klingt gut.

Hier mal ein funktionierendes Beispiel.
Script mit Ausgabe


Automation die mit der Ausgabe arbeitet

1 „Gefällt mir“

@rstuck Ich glaube das ist es!!! :grinning:
Ich hatte die falsche Herangehensweise, das hast du bestimmt gemerkt?
Ich dachte der Dienst gibt die Variable zurück und ich muss mir die irgendwo abholen. (Also so wie eine Abfrage states.lichtantwort) Ich wusste halt nicht wo ich hingucken und suchen muss…
Aber dank deinem Beispiel verstehe ich es so:
Die Automation triggert das Skript und wenn das Skript ausgeführt wird, gibt es eine Variable zurück.
Die Automation prüft, ob es die erwartete Antwort ist und wenn ja, wird die nächste Aktion gestartet.
Stimmt das so?

Dann müsste ich umdenken, denn bei mir versendet das Skript, das die hvac_modes definiert, die Benachrichtigung.
Ich muss jetzt die Automation so gestalten, dass erst das Skript getriggert wird, dann wird geschaut wie die Antwort ist und wenn die mit den Erwartungen übereinstimmt, wird (von der Automation) positiv benachrichtigt. Wenn nicht, gibt`s die Fehlermeldung?
Korrekt? :wink:

Nachtrag:
Getestet und funktioniert auf Anhieb!
Danke!!! :grinning:

:crayon:by HarryP: Zusammenführung Doppelpost

1 „Gefällt mir“