Skript vorübergehend deaktivieren aber wie

Hallo zusammen,

durch das Problem mit
notify.alexa_media_last_called

musste ich ein anderes Skript mit Hilfe des Forums erstellen.
Nun habe ich gelesen dass der Befehl wieder geht.

Frage:
Wie kann ich das bisherige Skript deaktivieren?. So wie bei den automation?

Damit ich mein altes Skript einfügen kann und so bei Problemen durch aktivieren des einen und deaktivieren des anderen
Skripten wechseln kann?

Vielen Dank
Frank

Ein Script braucht man nicht deaktivieren, da es nie automatisch auslöst. Tausche es einfach und lass das andere ruhen.

1 „Gefällt mir“

Hallo @maxe

Das geht leider nicht, da beide auf das Signalwort “Alexa, Status” reagieren,
Und mir dann sagen welche Fenster noch geöffnet sind.

Vielen Dank
Frank

Dann gehe ins Script aufs Zahnrad und dort dann deaktivieren bzw. den Spachassistent dort deaktivieren.

1 „Gefällt mir“

Dann musst du das Script doch eher Alexa nicht mehr zur Verfügung stellen. Wie hast du das ursprünglich gemacht?

1 „Gefällt mir“

@maxe
Wenn ich den Sprachassistenten deaktiviere wird das Skript nicht mehr ausgeführt.

Das zweite Skript funktioniert dann aber nicht weil es eine andere Endität hat.
Mit dem Zahnrad kann ich aber die Endität des zweiten Skript nicht ändern.

Ich nehme an dass das mit der config.yamal zu tun hat.

@sirector
Ich habe dazu NABU Casa installiert

Ich hab das Problem wohl nicht ganz verstanden.
Wo willst du welches Script einfügen und wo willst du hin und her wechseln? Ich glaube du musst mal etwas ausführlicher werden.

Sonst noch die Idee, dass du alle Aktionen in ein einziges Script packst und nur die benötigten Aktionen aktivierst. Dann brauchst du keine 2 Scripte.

1 „Gefällt mir“

@maxe

Tut mir leid. Ich versuche deutlicher zu werden.

Ich hatte ein Script, dass wenn ich zu Alexa sprach “Alexa Status”
Alexa mir genau zu der Alexa.dot antwortet zu der ich sprach.
Alexa sagte mir dann welche Fenster und Türen noch offen sind.

Das Script sah so aus.

alias: fenster_offen
sequence:
  - service: alexa_media.update_last_called
    data: {}
  - delay:
      hours: 0
      minutes: 0
      seconds: 0
      milliseconds: 2
  - service: notify.alexa_media_last_called
    data:
      message: >-
        {% set status = expand('binary_sensor.fenster_offen')  |
        selectattr('state', 'eq', 'on')                |
        map(attribute='name')                | list                | join (', ')
        %}        

        {% if status == '' %}            {{ status|replace("", "Alle Fenster und
        Türen sind geschlossen!") }}       {% else %}           
              Folgende Fenster und Türen sind noch offen: {{status}}       
        {% endif %}
mode: single
icon: mdi:window-open

Dann funktionierte irgendwann der Befehl alexa_media.update_last_called nicht mehr.

Danach habe ich folgendes Script verwendet.
Dies hatte den Nachteil, dass alle Alexa im Haus mir antworteten und nicht nur die Alexa zu der ich sprach.

Das aktuelle Skript sieht so aus:

alias: fenster_offen
sequence:
  - service: notify.alexa_media_franks_echo_pop
    data:
      message: >-
        {% set status = expand('binary_sensor.fenster_offen')  |
        selectattr('state', 'eq', 'on')                |
        map(attribute='name')                | list                | join (', ')
        %}        

        {% if status == '' %}            {{ status|replace("", "Alle Fenster und
        Türen sind geschlossen!") }}       {% else %}           
              Folgende Fenster und Türen sind noch offen: {{status}}       
        {% endif %}
  - service: notify.alexa_media_echo_dot_schlafzimmer
    data:
      message: >-
        {% set status = expand('binary_sensor.fenster_offen')  |
        selectattr('state', 'eq', 'on')                |
        map(attribute='name')                | list                | join (', ')
        %}        

        {% if status == '' %}            {{ status|replace("", "Alle Fenster und
        Türen sind geschlossen!") }}       {% else %}           
              Folgende Fenster und Türen sind noch offen: {{status}}       
        {% endif %}
  - service: notify.alexa_media_echo_plus_kuche
    data:
      message: >-
        {% set status = expand('binary_sensor.fenster_offen')  |
        selectattr('state', 'eq', 'on')                |
        map(attribute='name')                | list                | join (', ')
        %}        

        {% if status == '' %}            {{ status|replace("", "Alle Fenster und
        Türen sind geschlossen!") }}       {% else %}           
              Folgende Fenster und Türen sind noch offen: {{status}}       
        {% endif %}
  - service: notify.alexa_media_alexa_wohnzimmer
    data:
      message: >-
        {% set status = expand('binary_sensor.fenster_offen')  |
        selectattr('state', 'eq', 'on')                |
        map(attribute='name')                | list                | join (', ')
        %}        

        {% if status == '' %}            {{ status|replace("", "Alle Fenster und
        Türen sind geschlossen!") }}       {% else %}           
              Folgende Fenster und Türen sind noch offen: {{status}}       
        {% endif %}
  - service: notify.alexa_media_alexa_tim
    data:
      message: >-
        {% set status = expand('binary_sensor.fenster_offen')  |
        selectattr('state', 'eq', 'on')                |
        map(attribute='name')                | list                | join (', ')
        %}        

        {% if status == '' %}            {{ status|replace("", "Alle Fenster und
        Türen sind geschlossen!") }}       {% else %}           
              Folgende Fenster und Türen sind noch offen: {{status}}       
        {% endif %}
  - service: notify.alexa_media_frank_s_alexa_app_for_pc
    data:
      message: >-
        {% set status = expand('binary_sensor.fenster_offen')  |
        selectattr('state', 'eq', 'on')                |
        map(attribute='name')                | list                | join (', ')
        %}        

        {% if status == '' %}            {{ status|replace("", "Alle Fenster und
        Türen sind geschlossen!") }}       {% else %}           
              Folgende Fenster und Türen sind noch offen: {{status}}       
        {% endif %}
  - service: notify.mobile_app_pixel_4a_5g
    data:
      message: >-
        {% set status = expand('binary_sensor.fenster_offen')  |
        selectattr('state', 'eq', 'on')                |
        map(attribute='name')                | list                | join (', ')
        %}        

        {% if status == '' %}            {{ status|replace("", "Alle Fenster und
        Türen sind geschlossen!") }}       {% else %}           
              Folgende Fenster und Türen sind noch offen: {{status}}       
        {% endif %}
mode: single
icon: mdi:window-open

Der Eintrag in der configuration.yaml sieht so aus:

# Text-to-speech
tts:
  - platform: google_translate

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

alexa:
intent_script:
  script.offene_fenster_und_turen_abfragen:
            name: "fenster_offen"
            display_categories: SCRIP

# Wake on Lan
wake_on_lan:

Jetzt war die Frage, ob ich eine der beiden obigen Scripte deaktivieren kann um so jeweils die andere zu testen.

Nachtrag
Ich habe dann versuchshalber das Script wo alle Alexas antworten durch das Script wo nur die Alexa antwortet die Angesprochen wurde getauscht, so dass nur noch ein Skript existiert.
Das funktioniert aber leider nicht.
Es kommt folgende Fehlermeldung.

Vielen Dank
Frank

Hast du nach Änderung in der configuration.yaml auch HA neu gestartet?
Die Fehlermeldung deutet ja darauf hin, dass das script anders heißt.

Aber versuch doch einfach nur ein Script zu verwenden und lösch das andere:

Drück mal auf die 3 Punkte vom Script → Informationen → Zahnrad
Dort siehst du die Entitäts-ID da du den fehler bekommst tippe ich mal das da script.fenster_offen_2 oder ähnlich steht und nicht script.fenster_offen

LG

@maxe

Hast du nach Änderung in der configuration.yaml auch HA neu gestartet?
Die Fehlermeldung deutet ja darauf hin, dass das script anders heißt.

Genau daran hänge ich.

In der cofigruation.yaml habe ich nichts geändert.
Lediglich ein Script durch das andere ersetzt.
Einen Neustart habe ich auch durchgeführt.

Und hier steht doch die richtige Entität:
**


**

Verrückt wird es erst noch, wenn ich hier im Bild die Entität ändere, z.B. in
script.fenster_offen-2
Einen Neustart mache und dann das Script starte in dem ich auf die 3 Punkte klicken und dann auf Ausführen.

Denn obwohl ich denn Script namen geänder habe mit -2 dahinter, kommt die gleiche Fehlermeldung, dass er fenster_offen nicht finden kann.
Es müsste doch dann heißen fenster_offen**-2**
Da verschluckt er sich.

Wenn ich das Script verwende wo alle Alexas antworten, das auch den gleichen Namen mämlich alias: fenster_offen funktioniert dies.

Sehr merkwürdig.

Danke Dir
Frank

Änderst du nur den Namen oder auch die Entitäts-ID? Ach … Bindestrich wird er nicht nehmen, nutze Unterstrich.

Aber nochmal, lösch die 2. Automation und nimm nur noch eine.

Ich habe nur die, wo die Alexa antwortet wo auch die Anfrage kommt.
Nur die Entitäts-ID

wenn du jetzt nur noch ein Script hast, passt es doch.

Ist das ein Kopierfehler oder fehlt hier ein “T”?

Wau sehr gut erkannt, da fehlt ein t
habe ich geändert.

Was ich gemacht habe:

Alle Scripts gelöscht
Eine Neues Script erstellt.
Dies bekam komischerweise den Name: script.1704364330321

Dann wollte ich den Name wie im Bild ändern.
Ging aber nicht. Es kommt dann die Fehlermeldung, wie auf dem Bild, dass die Entität-ID bereits registriert ist.

Dann guck doch mal bei den Entitäten, ob du dort das script noch findest.

@maxe

Da war eine als Versteckt gekennzeichnet.
Ich machte die Sichtbar, kann diese aber nicht löschen.
Das Löschen ist deaktiviert.

Nachtrag
Komme einfach nicht weiter.
Habe jetzt die Entität können löschen.
Das Script neu Angelegt. Ist auch nur eine Vorhanden.
System neustart durchgeführt.
Dennoch findet HA das Script nicht mehr.

Nachtrag 2:
Vielleicht liegt es doch an dem Befehl das der immer noch nicht richtig funktioniert. alexa_media.update_last_called

Wobei er bei dem Kollegen hier funktioniert:

Ich nutze notify.alexa_media_last_called nicht aber vielleicht besteht doch noch ein Problem. Wenn Entitäts-ID stimmt, das Script stimmt etc., dann bin ich erst mal raus.

@maxe
Dennoch möchte ich dir recht herzlich Danke.