L'etat d'un sensor doit etre renvoyé vers plusieurs sensors

Mon problème

salutation !

Dans le cadre de gérer du consommable, dans ce cas, il s’agit de l’usure des filaments de mon imprimante 3D :

  • J’utilise Octoprint sur une Ender3.
  • Octoprint envoi tout sur mqtt, c’est opérationnel,
  • donc l’état de mon entité créée (sensor.longueur_filament) m’indique la longueur utilisée de filament pour l’objet en cours d’impression.

à partir de là ca va, mais je pense que vous me voyez venir… :wink:

Si je connais la longueur du filament utilisé pour imprimer un objet, ainsi que la longueur de la bobine de filament, alors il me parait intéressant de pouvoir avoir une visu sur lovelace de mon stock restant ava,t de lancer une nouvelle impression ou pour en commander une autre.

Mais…

Les contraintes :

  • j’ai plusieurs bobines de filament… noir, blanc, rouge, bleu, vert, orange, jaune…
  • octoprint, ne fait pas la différence entre elles, et m’envoi simplement que la consommation dû à l’impression de la pièce.

un ptit schema de ma vision :

Les input_number.filament;xxx ? c’est juste que j’ai passé la journée à trouver une solution et j’ai le cerveau en compote…

image
le ? servirait donc à :

  • recuperer la valeur de sensor.longueur_filament
  • devoir permettre le choix de la couleur du filament concerné par l’impression
  • alimenter de facon incrémentale l’entité du fil concerné
  • avoir un bouton sur lovelace pour reseter le compteur d’une couleur quand je changerai la bobine

voici donc déjà ma parti lovelace pour la bar-card avec des données bidons :
image
Je ferais la partie Node Red pour les rappels et les alarmes et les notifs.
une fois finalisé, un tuto of course…

Octoprint utilise un plugin (filament manager) mais n’est pas distribué dans mqtt mais une base GRESQL qu’il est possible d’externaliser…mais bon…

Je souhaiterai avec plaisir pour trouver une solution, soit full HA soit NR
J’utilise aussi influxdb mais sans +.

voila voila, à votre bon coeur msieurs dames ! :slight_smile:

(apres s’il existe un pavé numerique pour rentrer la valeur du filament utilisé, des boutons pour choisir la couleur et ainsi alimenter le sensor de la couleur concerné je suis preneur aussi :slight_smile: )

→ RAF (Rien à Faire) car entité de HA donc on peut l’utiliser dans les actions

Plusieurs façon de faire en parallèle :

  1. Détecter qu’une impression vient d’être lancée

Sur détection d’une impression (tu n’en as pas parlé, mais tu dois avoir une entité qui est représentative de l’état de l’imprimante (Impression en cours par exemple), sinon, il te faudra la créer en suivant le même principe), je passerais à Vrai un booléen (input_boolean.nouvelle_impression par exemple)

  1. Sur Telegram:

Sur détection du passage à Vrai de input_boolean.nouvelle_impression je lancerais une notification Telegram demandant la couleur de la bobine pour ensuite mettre à jour la valeur de l’input_number. et mettre à Faux input_boolean.nouvelle_impression

  1. Cartes Lovelace

Pour Lovelace, tout va dépendre du niveau d’esthétique que tu souhaites, mais le point d’entré pour moi est de tout mettre dans une carte conditionnelle s’affchant lorsque input_boolean.nouvelle_impression est à Vrai.

Ensuite, je pense que le mieux est de partager la représentation Lovelace que tu souhaites pour renseigner la couleur mais ça peux ressembler à ça avec :

  • 1 booléen nombre représentant le nouveau niveau (niveau actuel - longueur) (utile pour l’animation mais dispensable)
  • 1 booléen nombre représentant le niveau de la bobine (blanche dans l’exemple)
  • 1 script pour animer le changement de niveau
  • 1 carte conditionnelle comportant :
    ** 1 carte Markdown pour le titre
    ** 1 carte bar-card stylisée
  • 1 carte conditionnelle comportant :
    ** 1 carte bar-card stylisée (la même que précédemment mais sans les actions)

Ce qui donne (input_boolean.nouvelle_impression équivaut à input_boolean.hacf dans la suite) :

animate

script
alias: Mise à jour Bobine Blanche
sequence:
  - service: input_number.set_value
    data:
      value: >
        {{ states('input_number.filament_blanc_restant')|float - states('input_number.longueur_filament')|float  }}
    target:
      entity_id: input_number.filament_blanc
  - choose:
      - conditions:
          - condition: numeric_state
            entity_id: input_number.filament_blanc_restant
            above: input_number.filament_blanc
        sequence:
          - repeat:
              while:
                - condition: numeric_state
                  entity_id: input_number.filament_blanc_restant
                  above: input_number.filament_blanc
              sequence:
                - service: input_number.decrement
                  target:
                    entity_id: input_number.filament_blanc_restant
                - delay:
                    hours: 0
                    minutes: 0
                    seconds: 0
                    milliseconds: 50
          - service: input_boolean.turn_off
            target:
              entity_id: input_boolean.hacf
      - conditions:
          - condition: numeric_state
            entity_id: input_number.filament_blanc_restant
            below: input_number.filament_blanc
        sequence:
          - repeat:
              while:
                - condition: numeric_state
                  entity_id: input_number.filament_blanc_restant
                  below: input_number.filament_blanc
              sequence:
                - service: input_number.increment
                  target:
                    entity_id: input_number.filament_blanc_restant
                - delay:
                    hours: 0
                    minutes: 0
                    seconds: 0
                    milliseconds: 50
          - service: input_boolean.turn_off
            target:
              entity_id: input_boolean.hacf
mode: single
Carte
type: 'custom:stack-in-card'
cards:
  - type: conditional
    conditions:
      - entity: input_boolean.hacf
        state: 'on'
    card:
      type: 'custom:stack-in-card'
      cards:
        - type: markdown
          content: >-
            <font color="#25a2db">


            ## Impression détectée !

            Une impression est en cours sur l'imprimante 3D. <br> De quelle
            bobine <font color="#800080"><ha-icon
            icon="cha:filament"></ha-icon></font> s'agit t'il ?

            </font>
        - direction: up
          entities:
            - color: MediumTurquoise
              entity: sensor.canon_mg5700_series_cyan
              name: ' '
              icon: 'cha:filament'
            - color: MediumOrchid
              entity: sensor.canon_mg5700_series_magenta
              name: ' '
              icon: 'cha:filament-90'
            - color: Gold
              entity: sensor.canon_mg5700_series_yellow
              name: ' '
              icon: 'mdi:printer-3d-nozzle'
            - color: Black
              entity: sensor.canon_mg5700_series_black_bk
              name: ' '
              icon: 'mdi:printer-3d-nozzle'
            - color: '#f5f5f5'
              entity: input_number.filament_blanc_restant
              icon: 'mdi:printer-3d-nozzle'
              name: ' '
              tap_action:
                action: call-service
                service: script.mise_a_jour_bobine
          height: 200px
          max: 100
          min: 0
          padding: 2px
          positions:
            icon: inside
            title: outside
            indicator: 'off'
          stack: horizontal
          style: >-
            bar-card-title {
              text-shadow: none;
            }

            ha-icon {
              color: white;
            } 

            bar-card-card:nth-child(1) ha-icon,bar-card-card:nth-child(2)
            ha-icon {
              color: var(--primary-color);
            } 

            bar-card-value {
              text-shadow: none;
              color: white;
            } 

            bar-card-currentbar {
              border-radius: 10px;
            } 

            bar-card-backgroundbar {
              border-radius: 10px;
            } 

            bar-card-card:nth-child(5) bar-card-value{
              text-shadow: none;
              color: black;
            } 
          type: 'custom:bar-card'
          unit_of_measurement: m
  - type: conditional
    conditions:
      - entity: input_boolean.hacf
        state: 'off'
    card:
      direction: up
      entities:
        - color: MediumTurquoise
          entity: sensor.canon_mg5700_series_cyan
          name: ' '
          icon: 'cha:filament'
        - color: MediumOrchid
          entity: sensor.canon_mg5700_series_magenta
          name: ' '
          icon: 'cha:filament-90'
        - color: Gold
          entity: sensor.canon_mg5700_series_yellow
          name: ' '
          icon: 'mdi:printer-3d-nozzle'
        - color: Black
          entity: sensor.canon_mg5700_series_black_bk
          name: ' '
          icon: 'mdi:printer-3d-nozzle'
        - color: '#f5f5f5'
          entity: input_number.filament_blanc_restant
          icon: 'mdi:printer-3d-nozzle'
          name: ' '
      height: 200px
      max: 100
      min: 0
      padding: 2px
      positions:
        icon: inside
        title: outside
        indicator: 'off'
      stack: horizontal
      style: |-
        bar-card-title {
          text-shadow: none;
        }
        ha-icon {
          color: white;
        } 
        bar-card-card:nth-child(1) ha-icon,bar-card-card:nth-child(2) ha-icon {
          color: var(--primary-color);
        } 
        bar-card-value {
          text-shadow: none;
          color: white;
        } 
        bar-card-currentbar {
          border-radius: 10px;
        } 
        bar-card-backgroundbar {
          border-radius: 10px;
        } 
        bar-card-card:nth-child(5) bar-card-value{
          text-shadow: none;
          color: black;
        } 
      type: 'custom:bar-card'
      unit_of_measurement: m

Pour l’instant, il faut un script par bobine.

il reste pas mal de chose à gérer, surtout l’alerte sur niveau négatif !), et ton bouton de reset

1 « J'aime »

merci !! je vais essayer de reproduire ton exemple pour commencer :smiley:

bon bah ca avance pas mal :slight_smile:

petits screens vite fait de l’avancé :

état du status sans impression en cours :

Gestion de 2 box avec 14 couleurs de filaments (rouleau de 1kg, 750g, 500g, donc de longueur differentes).

comme souhaité, merci @Clemalex lorsqu’une impression est lancée, Lovelace me demande quelle couleur de filament est utilisé, en cliquant sur la couleur de la bobine, le niveau de celle ci se met à jour. :slight_smile:
Bar-card permet de garder la proportion entre une bobine de filament de 330 (1kg) et celle de 750g (250m) et 500g (166m).

1

Si un des rouleaux est en dessous de x metres, l’icone se change en petit panneau Alerte /!\ et je recois une notif sur télégram

image

Pour le changement de bobine, donc le reset, la remise à zéro du compteur pour une couleur, j’ai fais comme ceci :

2

Les petits soucis maintenant …

1/ je ne trouve pas pourquoi ces icones ont pris la couleur de mon theme et pas les autres, quoi qu’il en soit je les préfère en blanc :

image

2/ changer la couleur de la police des bar-card:
image

3/ enlever la decimale du compteur :
image

Le code la carte :

type: vertical-stack
cards:
  - type: 'custom:stack-in-card'
    cards:
      - type: conditional
        conditions:
          - entity: sensor.octoprint_current_state
            state: Printing
        card:
          type: 'custom:stack-in-card'
          cards:
            - type: markdown
              content: >-
                <font color="#25a2db"> Une impression 3D est détectée. De quelle
                bobine <font color="#800080"><ha-icon
                icon="mdi:ubisoft"></ha-icon></font> s'agit t'il ?

                </font>
            - direction: up
              entities:
                - color: black
                  entity: input_number.filament_noir_restant
                  icon: 'mdi:printer-3d-nozzle'
                  name: ' '
                  severity:
                    - from: '1'
                      to: '50'
                      icon: 'mdi:alert'
                      color: black
                    - from: '50'
                      to: '330'
                      color: black
                      icon: 'mdi:printer-3d-nozzle'
                  max: '330'
                  min: '0'
                  tap_action:
                    action: call-service
                    service: script.mise_a_jour_bobine_noir
                - color: white
                  entity: input_number.filament_blanc_restant
                  icon: 'mdi:printer-3d-nozzle'
                  name: ' '
                  severity:
                    - from: '1'
                      to: '50'
                      icon: 'mdi:alert'
                      color: white
                    - from: '50'
                      to: '330'
                      color: white
                      icon: 'mdi:printer-3d-nozzle'
                  max: '330'
                  min: '0'
                  tap_action:
                    action: call-service
                    service: script.mise_a_jour_bobine_blanc
                - color: red
                  entity: input_number.filament_rouge_restant
                  icon: 'mdi:printer-3d-nozzle'
                  name: ' '
                  severity:
                    - from: '1'
                      to: '50'
                      icon: 'mdi:alert'
                      color: red
                    - from: '50'
                      to: '250'
                      color: red
                      icon: 'mdi:printer-3d-nozzle'
                  max: '250'
                  min: '0'
                  tap_action:
                    action: call-service
                    service: script.mise_a_jour_bobine_rouge
                - color: blue
                  entity: input_number.filament_bleu_restant
                  icon: 'mdi:printer-3d-nozzle'
                  name: ' '
                  severity:
                    - from: '1'
                      to: '50'
                      icon: 'mdi:alert'
                      color: blue
                    - from: '50'
                      to: '166'
                      color: blue
                      icon: 'mdi:printer-3d-nozzle'
                  max: '166'
                  min: '0'
                  tap_action:
                    action: call-service
                    service: script.mise_a_jour_bobine_bleu
                - color: green
                  entity: input_number.filament_vert_restant
                  icon: 'mdi:printer-3d-nozzle'
                  name: ' '
                  severity:
                    - from: '1'
                      to: '50'
                      icon: 'mdi:alert'
                      color: green
                    - from: '50'
                      to: '166'
                      color: green
                      icon: 'mdi:printer-3d-nozzle'
                  max: '166'
                  min: '0'
                  tap_action:
                    action: call-service
                    service: script.mise_a_jour_bobine_vert
                - color: yellow
                  entity: input_number.filament_jaune_restant
                  icon: 'mdi:printer-3d-nozzle'
                  name: ' '
                  severity:
                    - from: '1'
                      to: '50'
                      icon: 'mdi:alert'
                      color: yellow
                    - from: '50'
                      to: '166'
                      color: yellow
                      icon: 'mdi:printer-3d-nozzle'
                  max: '166'
                  min: '0'
                  tap_action:
                    action: call-service
                    service: script.mise_a_jour_bobine_jaune
                - color: orange
                  entity: input_number.filament_orange_restant
                  icon: 'mdi:printer-3d-nozzle'
                  name: ' '
                  severity:
                    - from: '1'
                      to: '50'
                      icon: 'mdi:alert'
                      color: orange
                    - from: '50'
                      to: '166'
                      color: orange
                      icon: 'mdi:printer-3d-nozzle'
                  max: '166'
                  min: '0'
                  tap_action:
                    action: call-service
                    service: script.mise_a_jour_bobine_orange
              height: 200px
              max: 100
              min: 0
              padding: 2px
              positions:
                icon: inside
                title: outside
                indicator: 'off'
              stack: horizontal
              style: >-
                bar-card-title {
                  text-shadow: none;
                }

                ha-icon {
                  color: white;
                } 

                bar-card-card:nth-child(1) ha-icon,bar-card-card:nth-child(2)
                ha-icon {
                  color: var(--primary-color);
                } 

                bar-card-value {
                  text-shadow: none;
                  color: white;
                } 

                bar-card-currentbar {
                  border-radius: 10px;
                } 

                bar-card-backgroundbar {
                  border-radius: 10px;
                } 

                bar-card-card:nth-child(5) bar-card-value{
                  text-shadow: none;
                  color: black;
                } 
              type: 'custom:bar-card'
              unit_of_measurement: m
      - type: conditional
        conditions:
          - entity: sensor.octoprint_current_state
            state: Operational
        card:
          direction: up
          entities:
            - color: black
              entity: input_number.filament_noir_restant
              icon: 'mdi:ubisoft'
              name: ' '
              severity:
                - from: '1'
                  to: '50'
                  icon: 'mdi:alert'
                  color: black
                - from: '50'
                  to: '330'
                  color: black
                  icon: 'mdi:ubisoft'
              max: '330'
              min: '0'
            - color: white
              entity: input_number.filament_blanc_restant
              icon: 'mdi:ubisoft'
              name: ' '
              severity:
                - from: '1'
                  to: '50'
                  icon: 'mdi:alert'
                  color: white
                - from: '50'
                  to: '330'
                  color: white
                  icon: 'mdi:ubisoft'
              max: '330'
              min: '0'
            - color: red
              entity: input_number.filament_rouge_restant
              icon: 'mdi:printer-3d-nozzle'
              name: ' '
              severity:
                - from: '1'
                  to: '50'
                  icon: 'mdi:alert'
                  color: red
                - from: '50'
                  to: '250'
                  color: red
                  icon: 'mdi:ubisoft'
              max: '250'
              min: '0'
            - color: blue
              entity: input_number.filament_bleu_restant
              icon: 'mdi:printer-3d-nozzle'
              name: ' '
              severity:
                - from: '1'
                  to: '50'
                  icon: 'mdi:alert'
                  color: blue
                - from: '50'
                  to: '166'
                  color: blue
                  icon: 'mdi:ubisoft'
              max: '166'
              min: '0'
            - color: green
              entity: input_number.filament_vert_restant
              icon: 'mdi:printer-3d-nozzle'
              name: ' '
              severity:
                - from: '1'
                  to: '50'
                  icon: 'mdi:alert'
                  color: green
                - from: '50'
                  to: '166'
                  color: green
                  icon: 'mdi:ubisoft'
              max: '166'
              min: '0'
            - color: yellow
              entity: input_number.filament_jaune_restant
              icon: 'mdi:printer-3d-nozzle'
              name: ' '
              severity:
                - from: '1'
                  to: '50'
                  icon: 'mdi:alert'
                  color: yellow
                - from: '50'
                  to: '166'
                  color: yellow
                  icon: 'mdi:ubisoft'
              max: '166'
              min: '0'
            - color: orange
              entity: input_number.filament_orange_restant
              icon: 'mdi:printer-3d-nozzle'
              name: ' '
              severity:
                - from: '1'
                  to: '50'
                  icon: 'mdi:alert'
                  color: orange
                - from: '50'
                  to: '166'
                  color: orange
                  icon: 'mdi:ubisoft'
              max: '166'
              min: '0'
          height: 200px
          max: 100
          min: 0
          padding: 2px
          positions:
            icon: inside
            title: outside
            indicator: 'off'
          stack: horizontal
          style: >-
            bar-card-title {
              text-shadow: none;
            }

            ha-icon {
              color: white;
            } 

            bar-card-card:nth-child(1) ha-icon,bar-card-card:nth-child(2)
            ha-icon {
              color: var(--primary-color);
            } 

            bar-card-value {
              text-shadow: none;
              color: white;
            } 

            bar-card-currentbar {
              border-radius: 10px;
            } 

            bar-card-backgroundbar {
              border-radius: 10px;
            } 

            bar-card-card:nth-child(5) bar-card-value{
              text-shadow: none;
              color: black;
            } 
          type: 'custom:bar-card'
          unit_of_measurement: m
  - type: 'custom:stack-in-card'
    cards:
      - type: conditional
        conditions:
          - entity: sensor.octoprint_current_state
            state: Printing
        card:
          type: 'custom:stack-in-card'
          cards:
            - type: markdown
              content: '<font color="#25a2db"> Box 2 ? </font>'
            - direction: up
              entities:
                - color: silver
                  entity: input_number.filament_argent_restant
                  icon: 'mdi:printer-3d-nozzle'
                  name: ' '
                  severity:
                    - from: '1'
                      to: '50'
                      icon: 'mdi:alert'
                      color: silver
                    - from: '50'
                      to: '166'
                      color: silver
                      icon: 'mdi:printer-3d-nozzle'
                  max: '166'
                  min: '0'
                  tap_action:
                    action: call-service
                    service: script.mise_a_jour_bobine_argent
                - color: gold
                  entity: input_number.filament_or_restant
                  icon: 'mdi:printer-3d-nozzle'
                  name: ' '
                  severity:
                    - from: '1'
                      to: '50'
                      icon: 'mdi:alert'
                      color: gold
                    - from: '50'
                      to: '166'
                      color: gold
                      icon: 'mdi:printer-3d-nozzle'
                  max: '166'
                  min: '0'
                  tap_action:
                    action: call-service
                    service: script.mise_a_jour_bobine_or
                - color: '#A0522D'
                  entity: input_number.filament_marron_restant
                  icon: 'mdi:printer-3d-nozzle'
                  name: ' '
                  severity:
                    - from: '1'
                      to: '50'
                      icon: 'mdi:alert'
                      color: '#A0522D'
                    - from: '50'
                      to: '166'
                      color: '#A0522D'
                      icon: 'mdi:printer-3d-nozzle'
                  max: '166'
                  min: '0'
                  tap_action:
                    action: call-service
                    service: script.mise_a_jour_bobine_marron
                - color: '#D2691E'
                  entity: input_number.filament_marron_leger_restant
                  icon: 'mdi:printer-3d-nozzle'
                  name: ' '
                  severity:
                    - from: '1'
                      to: '50'
                      icon: 'mdi:alert'
                      color: '#D2691E'
                    - from: '50'
                      to: '166'
                      color: '#D2691E'
                      icon: 'mdi:printer-3d-nozzle'
                  max: '166'
                  min: '0'
                  tap_action:
                    action: call-service
                    service: script.mise_a_jour_bobine_marron_leger
                - color: '#8B4513'
                  entity: input_number.filament_marron_fonce_restant
                  icon: 'mdi:printer-3d-nozzle'
                  name: ' '
                  severity:
                    - from: '1'
                      to: '50'
                      icon: 'mdi:alert'
                      color: '#8B4513'
                    - from: '50'
                      to: '166'
                      color: '#8B4513'
                      icon: 'mdi:printer-3d-nozzle'
                  max: '166'
                  min: '0'
                  tap_action:
                    action: call-service
                    service: script.mise_a_jour_bobine_marron_fonce
                - color: grey
                  entity: input_number.filament_gris_restant
                  icon: 'mdi:printer-3d-nozzle'
                  name: ' '
                  severity:
                    - from: '1'
                      to: '50'
                      icon: 'mdi:alert'
                      color: grey
                    - from: '50'
                      to: '166'
                      color: grey
                      icon: 'mdi:printer-3d-nozzle'
                  max: '166'
                  min: '0'
                  tap_action:
                    action: call-service
                    service: script.mise_a_jour_bobine_gris
                - color: '#FF1493'
                  entity: input_number.filament_rose_restant
                  icon: 'mdi:printer-3d-nozzle'
                  name: ' '
                  severity:
                    - from: '1'
                      to: '50'
                      icon: 'mdi:alert'
                      color: '#FF1493'
                    - from: '50'
                      to: '166'
                      color: '#FF1493'
                      icon: 'mdi:printer-3d-nozzle'
                  max: '166'
                  min: '0'
                  tap_action:
                    action: call-service
                    service: script.mise_a_jour_bobine_rose
              height: 200px
              max: 100
              min: 0
              padding: 2px
              positions:
                icon: inside
                title: outside
                indicator: 'off'
              stack: horizontal
              style: >-
                bar-card-title {
                  text-shadow: none;
                }

                ha-icon {
                  color: white;
                } 

                bar-card-card:nth-child(1) ha-icon,bar-card-card:nth-child(2)
                ha-icon {
                  color: var(--primary-color);
                } 

                bar-card-value {
                  text-shadow: none;
                  color: white;
                } 

                bar-card-currentbar {
                  border-radius: 10px;
                } 

                bar-card-backgroundbar {
                  border-radius: 10px;
                } 

                bar-card-card:nth-child(5) bar-card-value{
                  text-shadow: none;
                  color: black;
                } 
              type: 'custom:bar-card'
              unit_of_measurement: m
      - type: conditional
        conditions:
          - entity: sensor.octoprint_current_state
            state: Operational
        card:
          direction: up
          entities:
            - color: silver
              entity: input_number.filament_argent_restant
              icon: 'mdi:ubisoft'
              name: ' '
              severity:
                - from: '1'
                  to: '50'
                  icon: 'mdi:alert'
                  color: silver
                - from: '50'
                  to: '166'
                  color: silver
                  icon: 'mdi:ubisoft'
              max: '166'
              min: '0'
            - color: gold
              entity: input_number.filament_or_restant
              icon: 'mdi:ubisoft'
              name: ' '
              severity:
                - from: '1'
                  to: '50'
                  icon: 'mdi:alert'
                  color: gold
                - from: '50'
                  to: '166'
                  color: gold
                  icon: 'mdi:ubisoft'
              max: '166'
              min: '0'
            - color: '#A52A2A'
              entity: input_number.filament_marron_restant
              icon: 'mdi:printer-3d-nozzle'
              name: ' '
              severity:
                - from: '1'
                  to: '50'
                  icon: 'mdi:alert'
                  color: '#A0522D'
                - from: '50'
                  to: '166'
                  color: '#A0522D'
                  icon: 'mdi:ubisoft'
              max: '166'
              min: '0'
            - color: '#D2691E'
              entity: input_number.filament_marron_leger_restant
              icon: 'mdi:printer-3d-nozzle'
              name: ' '
              severity:
                - from: '1'
                  to: '50'
                  icon: 'mdi:alert'
                  color: '#D2691E'
                - from: '50'
                  to: '166'
                  color: '#D2691E'
                  icon: 'mdi:ubisoft'
              max: '166'
              min: '0'
            - color: '#8B4513'
              entity: input_number.filament_marron_fonce_restant
              icon: 'mdi:printer-3d-nozzle'
              name: ' '
              severity:
                - from: '1'
                  to: '50'
                  icon: 'mdi:alert'
                  color: '#8B4513'
                - from: '50'
                  to: '166'
                  color: '#8B4513'
                  icon: 'mdi:ubisoft'
              max: '166'
              min: '0'
            - color: grey
              entity: input_number.filament_gris_restant
              icon: 'mdi:printer-3d-nozzle'
              name: ' '
              severity:
                - from: '1'
                  to: '50'
                  icon: 'mdi:alert'
                  color: grey
                - from: '50'
                  to: '166'
                  color: grey
                  icon: 'mdi:ubisoft'
              max: '166'
              min: '0'
            - color: '#FF1493'
              entity: input_number.filament_rose_restant
              icon: 'mdi:printer-3d-nozzle'
              name: ' '
              severity:
                - from: '1'
                  to: '50'
                  icon: 'mdi:alert'
                  color: '#FF1493'
                - from: '50'
                  to: '166'
                  color: '#FF1493'
                  icon: 'mdi:ubisoft'
              max: '166'
              min: '0'
          height: 200px
          max: 100
          min: 0
          padding: 2px
          positions:
            icon: inside
            title: outside
            indicator: 'off'
          stack: horizontal
          style: >-
            bar-card-title {
              text-shadow: none;
            }

            ha-icon {
              color: white;
            } 

            bar-card-card:nth-child(1) ha-icon,bar-card-card:nth-child(2)
            ha-icon {
              color: var(--primary-color);
            } 

            bar-card-value {
              text-shadow: none;
              color: white;
            } 

            bar-card-currentbar {
              border-radius: 10px;
            } 

            bar-card-backgroundbar {
              border-radius: 10px;
            } 

            bar-card-card:nth-child(5) bar-card-value{
              text-shadow: none;
              color: black;
            } 
          type: 'custom:bar-card'
          unit_of_measurement: m
  - type: vertical-stack
    cards:
      - type: entities
        entities:
          - entity: input_boolean.reset_filament
      - type: conditional
        conditions:
          - entity: input_boolean.reset_filament
            state: 'on'
        card:
          type: entities
          entities:
            - entity: input_number.filament_noir_restant
            - entity: input_number.filament_blanc_restant
            - entity: input_number.filament_rouge_restant
            - entity: input_number.filament_bleu_restant
            - entity: input_number.filament_vert_restant
            - entity: input_number.filament_jaune_restant
            - entity: input_number.filament_orange_restant
            - entity: input_number.filament_argent_restant
            - entity: input_number.filament_or_restant
            - entity: input_number.filament_marron_restant
            - entity: input_number.filament_marron_leger_restant
            - entity: input_number.filament_marron_fonce_restant
            - entity: input_number.filament_gris_restant
            - entity: input_number.filament_rose_restant
          state_color: true

voila voila, donc si vous avez une idée pour ces 3 petits soucis, ok c’est du détail mais quand meme lol
(ca sent le tuto de 3 pages lol)

1 « J'aime »

Je la ferais bien clignoter l’icône pour l’alerte … :innocent:

https://forum.hacf.fr/t/couleur-de-lentite-en-fonction-de-la-valeur/3948/2?u=clemalex

1 « J'aime »

Car c’est moi qui leur ai dit pour montrer où taper avec card-mod :

            bar-card-card:nth-child(1) ha-icon,bar-card-card:nth-child(2) ha-icon {
              color: var(--primary-color);
            } 

J’ai donné l’exemple aussi (regarde la 5ème bobine) :

             bar-card-card:nth-child(5) bar-card-value{
              text-shadow: none;
              color: black;
            }

Ajoute la propriété decimal à 0 :

          height: 200px
          decimal: 0
          max: 100
          min: 0

La documentation de la carte contient pas mal d’exemple de stylisation:innocent:

:innocent:

1 « J'aime »

tout fonctionne impec ! merci à toi pour ton aide !!

Merci à vous tous pour tous ceux qui impriment en 3d c’est une super utilisation des possibilités de HA et de NR pour garder un œil sur ses consommables et surtout quand on remet une bobine après un certain temps !

1 « J'aime »

je travail sur du GCODE aussi , je galere un peu mais ca va finir par avancer : afin d’avoir un bouton pour faire du HeatPLA suivit de la retractation nécessaire du filament pour faire un changement de bobine, la boucle devrait être bouclée :slight_smile:

petit lien en rapport avec la gestion des filaments suite à reboot d’HA, pour eviter mon erreur :slight_smile:

Node Red - Injecter une donnée dans une entitée - Entraide Home Assistant - Home Assistant Communauté Francophone (hacf.fr)