Seite 1 von 2
benötige Hilfe bei Script mit Input Select
Verfasst: Mi 27. Apr 2022, 07:01
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
Re: benötige Hilfe bei Script mit Input Select
Verfasst: Mi 27. Apr 2022, 20:52
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
Re: benötige Hilfe bei Script mit Input Select
Verfasst: Do 28. Apr 2022, 06:20
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
Re: benötige Hilfe bei Script mit Input Select
Verfasst: Do 28. Apr 2022, 08:26
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
Re: benötige Hilfe bei Script mit Input Select
Verfasst: Do 28. Apr 2022, 13:02
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
Re: benötige Hilfe bei Script mit Input Select
Verfasst: Do 28. Apr 2022, 13:10
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
Re: benötige Hilfe bei Script mit Input Select
Verfasst: Do 28. Apr 2022, 13:22
von PX80
Das ist korrekt. Vielen Dank vorneweg.
Re: benötige Hilfe bei Script mit Input Select
Verfasst: Do 28. Apr 2022, 13:56
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
Re: benötige Hilfe bei Script mit Input Select
Verfasst: Do 28. Apr 2022, 18:52
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.
Re: benötige Hilfe bei Script mit Input Select
Verfasst: Fr 29. Apr 2022, 12:41
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 ...
Re: benötige Hilfe bei Script mit Input Select
Verfasst: Fr 29. Apr 2022, 16:04
von Osorkon
Poste mal Deinein Code. Und die Auswahlliste.
Der von mir bereitgestellte funktioniert bei mir?!
Gruß
Osorkon
Re: benötige Hilfe bei Script mit Input Select
Verfasst: Fr 29. Apr 2022, 18:31
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
Re: benötige Hilfe bei Script mit Input Select
Verfasst: Fr 29. Apr 2022, 20:41
von Osorkon
Um welche Bedingungen geht es den?
Gruß
Osorkon
Re: benötige Hilfe bei Script mit Input Select
Verfasst: Sa 30. Apr 2022, 08:48
von Friedi
Das
sollte so aussehen:
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

Re: benötige Hilfe bei Script mit Input Select
Verfasst: Sa 30. Apr 2022, 09:06
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.
Re: benötige Hilfe bei Script mit Input Select
Verfasst: Mo 2. Mai 2022, 11:18
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
Re: benötige Hilfe bei Script mit Input Select
Verfasst: Mo 2. Mai 2022, 11:34
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
Re: benötige Hilfe bei Script mit Input Select
Verfasst: Mo 2. Mai 2022, 11:38
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.
Re: benötige Hilfe bei Script mit Input Select
Verfasst: Mo 2. Mai 2022, 11:51
von Osorkon
Tut‘s jetzt? Oder immer noch nicht?
Gruß
Osorkon
Re: benötige Hilfe bei Script mit Input Select
Verfasst: Mo 2. Mai 2022, 13:10
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?
Re: benötige Hilfe bei Script mit Input Select
Verfasst: Mo 2. Mai 2022, 14:43
von PX80
Funktioniert jetzt, hatte Probleme mit der Einrückung
Re: benötige Hilfe bei Script mit Input Select
Verfasst: Mo 2. Mai 2022, 17:02
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?
Re: benötige Hilfe bei Script mit Input Select
Verfasst: Mo 2. Mai 2022, 18:03
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
Re: benötige Hilfe bei Script mit Input Select
Verfasst: Mo 2. Mai 2022, 18:29
von Friedi
Ah ja
Ich würde da aber einfach ein Fallback machen. Also eine Entität zum Standard machen…
Re: benötige Hilfe bei Script mit Input Select
Verfasst: Di 3. Mai 2022, 09:08
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
