benötige Hilfe bei Script mit Input Select Thema ist als GELÖST markiert

Bereich rings rum zum Thema Yaml und seine Tücken.


Benutzeravatar
PX80
Beiträge: 583
Registriert: Do 21. Okt 2021, 13:09
2
Has thanked: 61 times
Been thanked: 16 times

benötige Hilfe bei Script mit Input Select

Beitrag von PX80 »

Moin,

das Beispiel Script verwendet den WErt von input select. Da meine Geräte aber keine Einheitliche Endung haben, möchte ich die Auswahl Fix machen

Code: Alles auswählen

spotify_start:
  alias: 'Spotify: Start Playback'
  sequence:
  - service: spotcast.start
    data:
      entity_id: "{% set selected_device = states('input_select.chromecast_audio').lower()\
        \ %} {{ 'media_player.' + selected_device }}     \n"
      force_playback: true
  mode: single
  icon: mdi:spotify
Quasi:

if input_select.chromecast_audio = "Bad" set selected_device = 'media_player.bad'

etc.

Bräuchte da mal ein Denkanstoss von der Codefomatierung
Benutzeravatar
Osorkon
Administrator
Beiträge: 1905
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 60 times
Been thanked: 516 times
Kontaktdaten:

Re: benötige Hilfe bei Script mit Input Select

Beitrag von Osorkon »

Warum so kompliziert?!

Code: Alles auswählen

potify_start:
  alias: 'Spotify: Start Playback'
  sequence:
  - service: spotcast.start
    data:
      entity_id: media_player.{{ states('input_select.chromecast_audio') }}
      force_playback: true
  mode: single
  icon: mdi:spotify
Gruß
Osorkon
Einer muss ja für Ordnung sorgen. :D
Benutzeravatar
PX80
Beiträge: 583
Registriert: Do 21. Okt 2021, 13:09
2
Has thanked: 61 times
Been thanked: 16 times

Re: benötige Hilfe bei Script mit Input Select

Beitrag von PX80 »

guten morgen, das funktioniert so nicht für alle geräte

InputSelect = Badezimmer ... der medieplay könnte aber media.player_Badezimmer_3 sein.

Daher möchte ich das gerne hard kodieren
Benutzeravatar
Osorkon
Administrator
Beiträge: 1905
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 60 times
Been thanked: 516 times
Kontaktdaten:

Re: benötige Hilfe bei Script mit Input Select

Beitrag von Osorkon »

Warum benennst Du Deine Entitäten nicht um / einheitlich?

Muss aber zugeben, da ich nicht durchsteige, was das Template genau tun soll?

Gruß
Osorkon
Einer muss ja für Ordnung sorgen. :D
Benutzeravatar
PX80
Beiträge: 583
Registriert: Do 21. Okt 2021, 13:09
2
Has thanked: 61 times
Been thanked: 16 times

Re: benötige Hilfe bei Script mit Input Select

Beitrag von PX80 »

prinzipiell hast du recht, nun habe ich jedoch mehrere Speaker im Wohnzimmer und ein Leerzeichen in der Entitry wird durch ein _ in der Entität ersetzt. Zudem möchte ich im Inputselect ggf. ein anderes Wort als der MediaPlayer Entität geben

daher benötige ich eine if this in input.select then that media_player
Benutzeravatar
Osorkon
Administrator
Beiträge: 1905
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 60 times
Been thanked: 516 times
Kontaktdaten:

Re: benötige Hilfe bei Script mit Input Select

Beitrag von Osorkon »

Also brauchst Du Unterstützung bei der if else Anweisung?
Zum Verständnis. Jeder Eintrag in Deiner Auswahlliste soll eindeutig einer media_player Entität zugeordnet werden?

Gruß
Osorkon
Einer muss ja für Ordnung sorgen. :D
Benutzeravatar
PX80
Beiträge: 583
Registriert: Do 21. Okt 2021, 13:09
2
Has thanked: 61 times
Been thanked: 16 times

Re: benötige Hilfe bei Script mit Input Select

Beitrag von PX80 »

Das ist korrekt. Vielen Dank vorneweg.
Benutzeravatar
Osorkon
Administrator
Beiträge: 1905
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 60 times
Been thanked: 516 times
Kontaktdaten:

Re: benötige Hilfe bei Script mit Input Select

Beitrag von Osorkon »

Versuche es mal damit

Code: Alles auswählen

{% if is_state('input_select.chomecast_audio', 'Wohnzimmer') %}
  media_player.xy
{% elif is_state('input_select.chomecast_audio', 'Arbeitszimmer') %}
  media_player.xyz
{% elif is_state('input_select.chomecast_audio', 'Schlafzimmer') %}
  media_player.xyzx
{% else %}
  unknow
{% endif %}
Gruß
Osorkon
Einer muss ja für Ordnung sorgen. :D
Benutzeravatar
PX80
Beiträge: 583
Registriert: Do 21. Okt 2021, 13:09
2
Has thanked: 61 times
Been thanked: 16 times

Re: benötige Hilfe bei Script mit Input Select

Beitrag von PX80 »

Vielen Dank probier ich aus. Schon allein werden Umlaute nicht korrekt geparsed. Aus "küche" wird halt media_player.kuche ... daher funtkioniert der erste Ansatz nicht.
Benutzeravatar
PX80
Beiträge: 583
Registriert: Do 21. Okt 2021, 13:09
2
Has thanked: 61 times
Been thanked: 16 times

Re: benötige Hilfe bei Script mit Input Select

Beitrag von PX80 »

@Osorkon die Syntax scheint nicht zu passen.

Code: Alles auswählen

missed comma between flow collection entries at line 6, column 19:
          entity_id: {% if is_state('input_select.chom ... 
Benutzeravatar
Osorkon
Administrator
Beiträge: 1905
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 60 times
Been thanked: 516 times
Kontaktdaten:

Re: benötige Hilfe bei Script mit Input Select

Beitrag von Osorkon »

Poste mal Deinein Code. Und die Auswahlliste.

Der von mir bereitgestellte funktioniert bei mir?!

Gruß
Osorkon
Einer muss ja für Ordnung sorgen. :D
Benutzeravatar
PX80
Beiträge: 583
Registriert: Do 21. Okt 2021, 13:09
2
Has thanked: 61 times
Been thanked: 16 times

Re: benötige Hilfe bei Script mit Input Select

Beitrag von PX80 »

Dein Code funktioniert, musste halt meine Umlaute ändern. Mit dem Conditional komm ich nicht zurecht

Code: Alles auswählen

spotify_start:
  alias: 'Spotify: Start Playback'
  sequence:
  - service: spotcast.start
    data:
      entity_id: 	{% if is_state('input_select.chomecast_audio', 'Wohnzimmer') %}
  			media_player.xy
			{% elif is_state('input_select.chomecast_audio', 'Arbeitszimmer') %}
 			 media_player.xyz
			{% elif is_state('input_select.chomecast_audio', 'Schlafzimmer') %}
 			 media_player.xyzx
			{% else %}
  			unknow
			{% endif %}
      force_playback: true
  mode: single
  icon: mdi:spotify
beim Einfügen der Bedingungen mach ich etwas falsch.Kenne die Syntax nicht
Benutzeravatar
Osorkon
Administrator
Beiträge: 1905
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 60 times
Been thanked: 516 times
Kontaktdaten:

Re: benötige Hilfe bei Script mit Input Select

Beitrag von Osorkon »

Um welche Bedingungen geht es den?

Gruß
Osorkon
Einer muss ja für Ordnung sorgen. :D
Benutzeravatar
Friedi
Beiträge: 428
Registriert: Do 22. Jul 2021, 16:57
2
Has thanked: 34 times
Been thanked: 21 times

Re: benötige Hilfe bei Script mit Input Select

Beitrag von Friedi »

Das

Code: Alles auswählen

     data:
      entity_id:
sollte so aussehen:

Code: Alles auswählen

     data:
      entity_id: >-
In der nächsten Zeile um 2 eingerückt dein Code.

Wäre mal der Anfang. Ich bin mir aber nicht sicher, ob das bei entity_id geht. Imho müsstest du da was mit data_template machen.
Bin unterwegs und auf dem Handy coded es sich schwer 🙁
Benutzeravatar
Friedi
Beiträge: 428
Registriert: Do 22. Jul 2021, 16:57
2
Has thanked: 34 times
Been thanked: 21 times

Re: benötige Hilfe bei Script mit Input Select

Beitrag von Friedi »

Probier es mal so:

Code: Alles auswählen

spotify_start:
  alias: 'Spotify: Start Playback'
  sequence:
  - service: spotcast.start
    data_template:
      entity_id: >-
        {% if is_state('input_select.chomecast_audio', 'Wohnzimmer') %}
  	  media_player.xy
	{% elif is_state('input_select.chomecast_audio', 'Arbeitszimmer') %}
 	  media_player.xyz
	{% elif is_state('input_select.chomecast_audio', 'Schlafzimmer') %}
          media_player.xyzx
	{% else %}
  	  unknow
        {% endif %}
    force_playback: true
    mode: single
  icon: mdi:spotify
Was du allerdings mit dem „unknow“ erreichen willst, ist mir schleierhaft, da es def. Zum Fehler führen wird.
Benutzeravatar
PX80
Beiträge: 583
Registriert: Do 21. Okt 2021, 13:09
2
Has thanked: 61 times
Been thanked: 16 times

Re: benötige Hilfe bei Script mit Input Select

Beitrag von PX80 »

mit dem code bringt er mir auch ein fehler schon beim ersten element

Code: Alles auswählen

can not read an implicit mapping pair; a colon is missed at line 10, column 25:
      	      media_player.xy
                            ^
Irgendwas funtz mit der Intendation oder syntax nicht

Edit: Ok. Die Indenation wird im FileEditor anders gehandhabt, hatte früher VisualCodeEditor. Ich muss alle Tabs rausnehmen die von Copy&Past ekamen
Benutzeravatar
Osorkon
Administrator
Beiträge: 1905
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 60 times
Been thanked: 516 times
Kontaktdaten:

Re: benötige Hilfe bei Script mit Input Select

Beitrag von Osorkon »

Die media_player Entitäten und das matching zu Deiner Auswahlliste musst Du aber schon anpassen.
Waren in meinem Bsp. Template ja nur Platzhalter.

Egal ob file Editor oder VCE, die Syntax bleibt die gleiche.
Du brauchst dich aber auch nicht mit einem Editor rumschlagen. Kannst das Skript genauso gut in der GUI erstellen und dort das Template einfügen.

Gruß Osorkon
Einer muss ja für Ordnung sorgen. :D
Benutzeravatar
PX80
Beiträge: 583
Registriert: Do 21. Okt 2021, 13:09
2
Has thanked: 61 times
Been thanked: 16 times

Re: benötige Hilfe bei Script mit Input Select

Beitrag von PX80 »

komme mit YAML besser als mit GUI zurecht, nur mit der einrückung hapert es manchmal. mir gings hie wirklich nur um die syntax, die notwendigen Anpassungen sind mir klar.
Benutzeravatar
Osorkon
Administrator
Beiträge: 1905
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 60 times
Been thanked: 516 times
Kontaktdaten:

Re: benötige Hilfe bei Script mit Input Select

Beitrag von Osorkon »

Tut‘s jetzt? Oder immer noch nicht?

Gruß
Osorkon
Einer muss ja für Ordnung sorgen. :D
Benutzeravatar
Friedi
Beiträge: 428
Registriert: Do 22. Jul 2021, 16:57
2
Has thanked: 34 times
Been thanked: 21 times

Re: benötige Hilfe bei Script mit Input Select

Beitrag von Friedi »

PX80 hat geschrieben: Mo 2. Mai 2022, 11:18 mit dem code bringt er mir auch ein fehler schon beim ersten element

Code: Alles auswählen

can not read an implicit mapping pair; a colon is missed at line 10, column 25:
      	      media_player.xy
                            ^
Irgendwas funtz mit der Intendation oder syntax nicht

Edit: Ok. Die Indenation wird im FileEditor anders gehandhabt, hatte früher VisualCodeEditor. Ich muss alle Tabs rausnehmen die von Copy&Past ekamen
Dann passt imho deine entity nicht.

Ich habe mir mal dieses Spotcast angesehen. Die Code-Beispiele, die ich sah, gaben alle einen URI mit. Bist du sicher, dass es reicht, nur die Entität anzugeben? Hast du das schon mal ohne Select usw. gemacht? Also mit nur einer def. Entität?
Benutzeravatar
PX80
Beiträge: 583
Registriert: Do 21. Okt 2021, 13:09
2
Has thanked: 61 times
Been thanked: 16 times

Re: benötige Hilfe bei Script mit Input Select

Beitrag von PX80 »

Funktioniert jetzt, hatte Probleme mit der Einrückung
Benutzeravatar
Friedi
Beiträge: 428
Registriert: Do 22. Jul 2021, 16:57
2
Has thanked: 34 times
Been thanked: 21 times

Re: benötige Hilfe bei Script mit Input Select

Beitrag von Friedi »

PX80 hat geschrieben: Mo 2. Mai 2022, 14:43 Funktioniert jetzt, hatte Probleme mit der Einrückung
😂
Was ich immer noch nicht weiß: was willst du mit dem „unknow“ erreichen?
Benutzeravatar
Osorkon
Administrator
Beiträge: 1905
Registriert: Sa 17. Jul 2021, 16:53
2
Wohnort: Langenargen
Has thanked: 60 times
Been thanked: 516 times
Kontaktdaten:

Re: benötige Hilfe bei Script mit Input Select

Beitrag von Osorkon »

😂
Was ich immer noch nicht weiß: was willst du mit dem „unknow“ erreichen?
Den Template Code hat ja von mir. 😉

Ob das Template jetzt nichts oder unknow als Ergebnis raus spuckt wenn unbekannte Auswahl erfolgt, ist ja Wurst. Beides führt zum gleichen Ergebnis, es wird nichts abgespielt, da ungültige Entität. Was ja eigentlich nicht passieren dürfte wenn er die Auswahlliste und das Template synchron hält.

Gruß
Osorkon
Einer muss ja für Ordnung sorgen. :D
Benutzeravatar
Friedi
Beiträge: 428
Registriert: Do 22. Jul 2021, 16:57
2
Has thanked: 34 times
Been thanked: 21 times

Re: benötige Hilfe bei Script mit Input Select

Beitrag von Friedi »

Ah ja 👍

Ich würde da aber einfach ein Fallback machen. Also eine Entität zum Standard machen…
Benutzeravatar
PX80
Beiträge: 583
Registriert: Do 21. Okt 2021, 13:09
2
Has thanked: 61 times
Been thanked: 16 times

Re: benötige Hilfe bei Script mit Input Select

Beitrag von PX80 »

Friedi hat geschrieben: Mo 2. Mai 2022, 17:02
PX80 hat geschrieben: Mo 2. Mai 2022, 14:43 Funktioniert jetzt, hatte Probleme mit der Einrückung
😂
Was ich immer noch nicht weiß: was willst du mit dem „unknow“ erreichen?
Ich bin einfach nur faul bei copy&paste hier im forum ;)
Antworten