Input_select + input_text

Disons que je trouve ça plus joli, et que ça prend moins de place dans un menu déroulant.

Hello.

Non, il n’y a qu’un script et passage d’un paramètre en fonction du bouton memo choisi.
Par contre, Je ne vois pas l’interet/la valeur ajoutée de passer par une input_liste par rapport à l’existant :thinking:

1 « J'aime »

Pour moi il faut ajouter une étape (un script intermédiaire?) qui viendrait faire l’associassion entre le nom du menu déroulant et le n° de téléphone. Puis appellerait le script avec le « bon » N° de telephone.

Je ne suis pas sur qu’il existe une entité de type « tableau » qui permette de faire ce lien dans une entité, j’ai peur qu’il faille le faire « en dur » dans le code…

1 « J'aime »

Donc si c’est un script unique, Oui c’est un manque coté HA, il n’y a pas de liste déroulante avec la possibilité de faire une partie affichage et une partie technique

Comme je le disais plus haut, il n’y a pas moyen de trouver que la ligne sélectionnée est 1, 2 ou 3.
La solution c’est de faire un item dans la liste input_select qui s’appelle ‹ Pupuce ›, de faire un input_text.num_pupuce… et de transformer le script pour qu’il utilise la valeur (état) de l’input select pour faire le template input_text.num_{{states('input_select.contact')}}
Idem pour maman etc

1 « J'aime »

Whoaa pas l’air simple ^^

Je viens de trouver un topic sur votre site qui pour moi ressemble à ce que je veux faire ?

Salut,

Il y a des similitudes, mais c’est bien plus compliqué que ce dont tu as besoin dans ton cas.
Et puis c’est quand même pas le même cas d’usage.
Tiua sjuste besoin :

  • 1 liste déroulante avec X entrées
  • X input_select, avec les numéros de téléphone
  • 1 bouton
  • 1 automatisation

Liste déroulante OK

X input_select, avec les numéros de téléphone OK


Chaque Telmemo ) son numéro

Le bouton je ne comprends pas trop, car tu ne veux pas mettre le résultat du choix du menu déroulant dans le sélect number ?

Et concernant l’automatisation et bien là je bloque

Pas vraiment. Ce dont tu as besoin c’est une correspondance entre les noms de ta liste et le noms des input_text… Telmémo1 c’est sympa, mais tu fais pas le lien automatiquement avec les items de la liste.

Ton bouton va juste servir à déclencher l’automatisation.

Commence par faire simple :

  • une automatisation très basique qui appelle uniquement input_text.num_pupuce
  • déclencher l’automatisation via le bouton
  • rendre l’automatisation générique (pour faire la correspondance pupuce de la liste avec pupuce des input_select)
    la syntxe est là:

Excuse-moi si tu me trouves insistant , mais dans ce topic, avec l’image nommée « Manu » quand tu sélectionnes par exemple ModeC dans monselectmanu tu as bien ModeC qui se sélectionne dans textmanu

Moi, c’est bien ce que je veux faire ! Regarde cette vidéo il faudrait juste remplacer le fait d’appuyer sur pupuce par exemple, par la sélection dans le menu déroulant

Donc je reprends simplement :
La liste déroulante ne connait QUE les noms …Pas d’infos sur une position dans la liste (celle que tu choisirais) et pas d’infos complémentaire comme un numéro de téléphone (associé à un nom) et pas non plus de notion d’emplacement mémoire… Donc tu ne peux PAS faire comme avec les boutons (qui ont une info 1, 2, 3, 4, 5, 6) transmise au script.
Il faut refaire une autre mécanique. Visuellement ça s’approche de ce que tu filme, mais techniquement c’est différent.

1 « J'aime »

C’est pour ça que je te disais plus haut qu’il te faut coder « en dur » c’est à dire dans une automatisation les numéros (on ne le fait qu’une fois normalement, donc ce n’est pas très grave).

C’est un peu ce qui est fait aujourd’hui puisque chaque bouton est associé à un seul nom et un seul numéro.
Quand tu appui sur le bouton « Pupuce » tu lances ton script d’appel avec le N° de Pupuce. Je ne connais pas ta syntaxe mais disons un truc genre « script_appel(0698765432) »

Vu que tu n’as plus 6 boutons séparés, mais un seul input_select de choix des raccourcis et un seul bouton « appel », il faut que tu fasse ce lien autrement, par exemple dans une automatisation qui fasse:

  • trigger : si appui sur le bouton « appel »

  • condition: input_select non vide (facultatif?)

  • action:
    si input select = « Maman » alors lance « script_appel(0612345678) »
    sinon si input select = « Pupuce » alors lance « script_appel(0698765432) »
    sinon si input select = « Urgences » alors lance « script_appel(112) »
    etc…

Tu ne fait ce lien des numéros que dans l’automatisation, et tu devras mettre à jour cette automatisation à chaque nouveau raccourci (une entrée dans l’input_select, modifiée ou ajouté => une mise à jour dans l’automatisation).
Ce serait génial de pouvoir avoir un tableau avec deux colonnes: nom/numéro et de venir faire cette association comme ça, mais en HA « natif » je ne crois pas que ça existe. Donc il faut contourner…

Oui c’est possible mais il y a plus malin à faire : l’asso entre le nom dans la liste Et le nom de l’input_text
input_text.num_{{states(‹ input_select.contact ›)}}
C’est plus facile d’éditer l’input_text (et d’en ajouter) que de le faire dans l’autom

1 « J'aime »

Ah oui, c’est plus malin !!

Vous m’avez perdu lol

Est-ce que tu avais suivi ma proposition déjà?

Si oui, la solution de @Pulpy-Luke c’est le même principe, mais plus malin car on ne fais pas le lien dans l’automatisation, mais dans des noms de fichier…

Je reformule à ma manière la solution de @Pulpy-Luke qui est plus élégante et facile à maintenir:

Vu que tu n’as plus 6 boutons séparés, mais un seul input_select de choix des raccourcis et un seul bouton « appel », il faut que tu fasse ce lien autrement, par exemple de la façon suivante:

  • pour chaque nom dans ton input_select (Pupuce, Maman, Urgences, etc…)
  • tu crées un input_text qui se nomme numero_nom et qui contient le numéro de téléphone
    par exemple:
    3 input text:
    input_test.numero_maman contient 0612345678
    input_test.numero_pupuce contient 0698765432
    input_test.numero_urgences contient 112

Si on reprend la syntaxe de @Pulpy-Luke: input_text.numero_{{states('input_select.contact')}}

  • si tu selectionnes « pupuce »
  • alors {{states('input_select.contact')}} prendra la valeur du nom selectionné dans l’input_select, donc ‹ pupuce ›
  • et input_text.numero_{{states('input_select.contact')}} va coller « input_text.numero_ » et la valeur précédente, donc: ‹ input_text.numero_pupuce › ce qui est le nom de l’entité input_text associée à pupuce.
  • si tu teste la valeur de cette entité : states('input_text.numero_{{states('input_select.contact')}}') normalement tu récupères le numéro que tu as mis dedans soit 0698765432
    Tu peux donc utiliser cette syntaxe pour récupérer le numéro de téléphone et appeller ton script.

Tu crées ensuite ton automatisation comme ça

  • trigger : si appui sur le bouton « appel »
  • condition: input_select non vide (facultatif?)
  • action:
    lancer le script script_appel(states('input_text.numero_{{states('input_select.contact')}}'))

Là où c’est élégant c’est que:

  • si tu veux ajouter un numéro, il suffit de rajouter un nom à l’input_select et de créer un input_text se nommant numero_nom et contenant le numéro de téléphone associé.
  • si tu veux modifier un numéro, il te suffit de modifier le numéro de téléphone dans l’input_text correspondant.
  • plus besoin de toucher à l’automatisation.
1 « J'aime »

J’ai corrigé vite fait, quelques ’ qui se sont glissées au fil des échanges.
Concernant le script, je pense qu’il est au moins à modifier, voire à supprimer.
Je m’explique, il semble que le script utilise des paramétres d’appels (1, 2, 3, 4 , 5 ou 6) et va chercher le numéro dans les input_text.telmemoX
Donc pas moyen de l’appeller avec 0612345678 comme

Par ailleurs, il faut faire attention pour les conditions de l’automation

Si tu rentres un numéro à la main, ça donne pas l’attendu, ça va prendre celui de la liste.

A mon avis, l’automatisation à juste besoin de remplir l’entité qui sert à saisir le numéro dans la carte avec le numéro trouvé dans l’input_text…

En tout cas, on n’en est pas encore là

1 « J'aime »

Il va falloir peut être un peu de support de @Krull56 je crois que c’était lui qui avait fait la partie appel téléphonique et le script…

En tout cas une fois de plus @sg72 tu me permet de découvrir de nouvelles façon de faire ! Merci…

C’est plutôt moi qui vous remercie ! Car à force de demander, j’ai toujours impression de faire c… Et ça je n’aime pas ça

Tu n’ennuies personne !
Tant que le déclic n’est pas fait et que c’est pas clair pour toi, on répétera les choses et on répondra aux questions.