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?
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.
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):
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?
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.
@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.
@rstuck Ich glaube das ist es!!!
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?
Nachtrag:
Getestet und funktioniert auf Anhieb!
Danke!!!