Afficher une fenêtre pour entrer une quantité

Bonjour à toutes et à tous,

Ma situation :

Sur mon dashboard, j’ai une section qui me permet de gérer des stocks de différents produit.
Actuellement, j’ai mis 2 boutons + et - qui ont comme action respectivement d’incrémenter et de décrémenter.
Toutefois, j’ai certains produits pour lesquels j’entre ou sort du stock par lot.
Actuellement, la façon de faire la plus simple est de cliquer sur la carte, qui m’affiche plus d'info et je rentre la nouvelle valeur du stock.

Ma recherche :

Est-il possible d’avoir au clic sur la carte ou un bouton, l’ouverture d’une fenêtre dans lequel je rentre le nombre de produit à ajouter (ou à retirer en fonction du bouton cliquer) ? Au lieu de ce plus d'info, ce qui rendrait la tâche plus aisée.

Envoie le code de ta card pour savoir déjà quel card tu utilises.

Si c’est un input_number, tu peux avec les services/actions faire un input_select.set_value pour changer la valeur

1 « J'aime »

Pas mieux que @barto_95

Tu peux faire un input_number pour sélectionner le nombre puis des scripts qui feraient ajouter le nombre ou retirer le nombre.

Tu pourrais alors activer ton script avec tes boutons + et -


J’ai un exemple proche là:

image

pour envoyer de la musique sur des groupes d’enceinte.

Code de la carte
type: tile
features_position: bottom
vertical: false
entity: input_text.alexa_text_input
grid_options:
  columns: 12
  rows: 1
icon: mdi:play
icon_tap_action:
  action: perform-action
  perform_action: script.toggle
  target:
    entity_id: script.play_music_on_group
name: Quelle musique ?
features:
  - type: custom:service-call
    entries:
      - type: selector
        entity_id: input_select.groupes_d_enceintes
        options:
          - entity_id: input_select.groupes_d_enceintes
            option: Partout
            tap_action:
              action: perform-action
              perform_action: input_select.select_option
              data:
                option: Partout
              target:
                entity_id: input_select.groupes_d_enceintes
            label: Partout
            icon: ""
          - entity_id: input_select.groupes_d_enceintes
            option: Salon et cuisine
            tap_action:
              action: perform-action
              perform_action: input_select.select_option
              data:
                option: Salon et cuisine
              target:
                entity_id: input_select.groupes_d_enceintes
            label: Salon et cuisine
          - entity_id: input_select.groupes_d_enceintes
            option: Rez de chaussée
            tap_action:
              action: perform-action
              perform_action: input_select.select_option
              data:
                option: Rez de chaussée
              target:
                entity_id: input_select.groupes_d_enceintes
            label: Rez de Chaussée
          - entity_id: input_select.groupes_d_enceintes
            option: Etage
            tap_action:
              action: perform-action
              perform_action: input_select.select_option
              data:
                option: Etage
              target:
                entity_id: input_select.groupes_d_enceintes
            label: Etage

J’utilise un input text (il faut utiliser le pop up more info pour le modifier dans mon cas, en cliquant sur la carte en dehors de l’icone et des groupes, mais toi tu pourrais avoir un input-nb avec des + et - par exemple)

J’ai aussi un input-select qui permet de choisir le bon groupe d’enceinte (via une custom-feature pour un look tout en un)

Si je clique sur l’icone “play”, je lance un script script.play_music_on_group qui lance la commande custom à Alexa: “Joue (input_text) sur le groupe (input_select)”.

code du script
alias: play music on group
sequence:
  - action: media_player.play_media
    data:
      media:
        media_content_id: >-
          joue {{ states('input_text.alexa_text_input')}} sur le groupe {{
          states('input_select.groupes_d_enceintes')}}
        media_content_type: custom
        metadata: {}
    target:
      entity_id: media_player.echo_jeanne
mode: single
icon: mdi:music

Bref tu pourrais ainsi prendre le problème à l’envers:

  • sélectionner un nombre (qui serait à 1 par défaut) via un input number (par exemple ici avec une carte Tuile)

  • puis appuyer sur tes boutons + ou - pour lancer un script qui ajoute (ou enlève) la valeur de l’input nb
  • puis soit à la fin de tes scripts tu remets à 1 l’input nb… soit tu ajoutes un autre bouton pour remettre à 1 l’input nb entre tes boutons + et -

Bonjour messieurs,

Voici le code de ma carte :

type: custom:button-card
styles:
  card:
    - padding-top: 0
    - padding-bottom: 0
    - background-color: "#5d5367"
    - height: 46px
  grid:
    - grid-template-areas: "'Logo' 'Titre' 'Plus' 'Quantité' 'Moins'"
    - grid-template-columns: 1fr
    - grid-template-rows: min-content min-content
  custom_fields:
    Logo:
      - position: absolute
      - margin-top: 0px
      - margin-left: 7px
      - "--ha-card-background": "#504557"
      - "--mush-chip-icon-size": 0.6em
      - z-index: 1
    Titre:
      - position: aboslute
      - text-align: left
      - width: 200px
      - margin-top: "-5px"
      - margin-left: 1px
      - "--ha-card-background": none
      - "--mush-card-primary-font-size": 14px
      - "--mush-card-secondary-font-size": 12px
    Moins:
      - position: absolute
      - right: 97px
    Quantité:
      - position: absolute
      - right: 52px
    Plus:
      - position: absolute
      - right: 7px
custom_fields:
  Logo:
    card:
      type: custom:mushroom-chips-card
      chips:
        - type: template
          icon: mdi:silo
          icon_color: white
          tap_action:
            action: none
          double_tap_action:
            action: none
          hold_action:
            action: none
  Titre:
    card:
      type: custom:mushroom-template-card
      icon: none
      primary: Stock
      tap_action:
        action: none
  Moins:
    card:
      type: custom:button-card
      entity: input_number.mon_stock
      icon: mdi:minus
      show_name: false
      tap_action:
        action: perform-action
        perform_action: input_number.decrement
        target:
          entity_id: input_number.mon_stock
      styles:
        card:
          - height: 36px
          - width: 40px
  Quantité:
    card:
      type: custom:button-card
      entity: input_number.mon_stock
      show_name: false
      show_icon: false
      show_state: true
      tap_action:
        action: none
      styles:
        card:
          - height: 36px
          - width: 40px
  Plus:
    card:
      type: custom:button-card
      entity: input_number.mon_stock
      icon: mdi:plus
      show_name: false
      tap_action:
        action: perform-action
        perform_action: input_number.increment
        target:
          entity_id: input_number.mon_stock
      styles:
        card:
          - height: 36px
          - width: 40px

Qui donne ainsi :
image

Actuellement si je retire ou ajoute une grande quantité, il faut cliquer autant de fois que nécessaire sur plus ou moins. Mon idée serait d’avoir un champ texte dans lequel on pourra saisir cette valeur, directement. Mais un peu plus sexy que le more-info

Bonsoir @Tank

Ca peut se faire à partir de ta custom:button-card : tu ajoutes un custom_fields qui ne s’affiche que sur le clic d’un bouton (ou sur le clic de l’icône de stock par exemple). Je pourrais te faire un exemple si tu veux.

Ce sujet a été automatiquement fermé après 60 jours. Aucune réponse n’est permise dorénavant.