Ankündigung

Einklappen
Keine Ankündigung bisher.

Wie Automation zeitverzögert auslösen?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Wie Automation zeitverzögert auslösen?

    Hi,

    ich habe ein Problem, bei dem ich noch nicht weiter komme.Ich habe MQTT eingerichtet, ein Topic als Sensor in der configuration.yaml eingetragen und möchte das doppelt nutzen.
    - Triggern bei Payload-Änderung
    - Payload per Text-To-Speech ausgeben

    Problem: Wenn die Änderung vom Payload triggert, wird der vorherige Payload vorgelesen. Ändere ich den Payload und trigger anschließend manuell, ist es der aktuelle.
    Alles, was ChatGPT mir vorschlägt, gibt nur Fehlermeldungen, ist aber vom format auch ganz anders.
    Zuvor habe ich nicht mit YAML in HA gearbeitet. Nutze das selber erst eine Woche.

    Ich dachte, es könnte vielleicht helfen das Auslösen um 1-2s zu verzögern. Vielleicht gibt es ja auch eine andere Möglichkeit, die ich nicht kenne. Kann mir jemand einen Tipp geben, wie ich das hinbekommen könnte, ohne einen extra Trigger senden zu müssen?
    Ich möchte einfach, vom welchem System auch immer den Payload senden und vorlesen lassen.

    Configuration.yaml
    Code:
    mqtt:
    sensor:
    - name: "MQTT_Nachricht_tts"
    state_topic: "homeassistant/tts/MQTT_Nachricht_tts"​
    Automatik:
    Code:
    action: tts.speak
    metadata: {}
    data:
    cache: false
    media_player_entity_id: media_player.kuche
    language: de
    message: "{{ states('sensor.MQTT_Nachricht_tts') }}"
    target:
    entity_id: tts.google_translate_en_com​
    In der UI darf ich states('sensor.MQTT_Nachricht_tts nicht angeben, er wechselt hier automatisch zur YAML

    Auslöser:
    Code:
    trigger: mqtt
    topic: homeassistant/tts/MQTT_Nachricht_tts
    enabled: true​
    Beim Auslöser kann ich auch einfach sagen MQTT Topic homeassistant/tts/MQTT_Nachricht_tts ohne bestimmten Wert.


    Wie bekomme ich es also hin, dass der Payload triggert und auch richtig vorliest? Es ist, als ob er eine Änderung mitbekommt und triggert, bevor sich der Wert geändert hat.


    Viele Grüße
    Nils

    #2
    Wenn du sowieso schon einen sensor hast, warum machst du den Trigger dann nicht auf die Änderung des Sensors? Das sollte das Problem eigentlich schon lösen ohne irgendwelche Verzögerungen.

    Kommentar


      #3
      Meine Güte, daran hatte ich nun echt nicht gedacht, dass das einen Unterschied machen könnte. so funktioniert es. Danke für den Tipp.


      Viele Grüße
      Nils

      Kommentar


        #4
        War vielleicht doch nur von kurzer Dauer. Morgen muss ich nochmal weiter suchen.

        Alle ca. 30-60 Min. kommt aus dem Lautsprecher: unavailable und danach ließt er direkt die letzte Nachricht. So kann das natürlich nicht blieben...


        Viele Grüße
        Nils

        Kommentar


          #5
          Dann nimmt dein Sensor kurz den Zustand unavailable an. Evtl verliert HA die Verbindung zu MQTT?

          Du kannst natürlich auch den Sensor einfach wegwerfen und wieder auf den MQTT Trigger gehen und dann anstatt `{{ states("sensor.MQTT_Nachricht_tts") }}` machst du `{{ trigger.payload }}` für die message.

          Kommentar


            #6
            Ich habe das gestern nun einmal ausprobiert.

            Trigger:
            Wenn eine MQTT-Nachricht empfangen wurde
            Topic: homeassistant/tts/MQTT_Nachricht_tts
            Payload (Optional): Nichts eingetragen

            Aktion:
            Code:
            action: tts.speak
            metadata: {}
            data:
              cache: false
              media_player_entity_id: media_player.kuche
              language: de
              message: "{{ trigger.payload }}"
            target:
              entity_id: tts.google_translate_en_com​
            Das funktioniert. Kein unavailable zwischendurch, kein nochmaliges Lesen der alten Nachricht anschließend. Dabei habe ich ja eigentlich nur die Umformung zum Sensor nicht genutzt. Hätte ich jetzt nicht direkt erwartet.

            Danke für die Hilfe.


            Viele Grüße
            Nils

            Kommentar

            Lädt...
            X