[ CARTE ] Bubble Card - Des pop-up et une collection de cartes minimalistes

Re,

Pour imager, ça force la couche dans le mille feuille de picture element sans avoir à se soucier du positionnement des cartes dans celle-ci, mais ça peut générer quelques soucis visuels

1

1 « J'aime »

oui, j’ai bien suivi les recos en matière d’ordre de cards et d’images, mais rien n’y fait…

re,

teste avec le dernier code que j’ai mis, normalement il n’y a qu’à changer la ligne 2 avec le nom de l’image si toutes les cartes sont installées et éventuellement à jour.

cdt

@MilesTEG1 est ce que tu pourrais partager tout les templates, cartes etc pour ta carte mise a jour svp?

@Milou89 Je crois que j’ai déjà posté tout ça il y a quelques semaines.
Cherche dans le sujet sur mon pseudo :blush:
Si jamais il n’y a rien je republierais quelque chose quand je serais sur un ordinateur :blush:

Bonsoir à tous, savez vous si il est possible d’afficher un texte selon le statut d’une entité dans un sub-button svp ?
J’ai bien trouvé comment ne rien afficher dans les exemples mais rien pour afficher un texte.
J’ai essayé ce code sans résultat :

        .bubble-sub-button-3 {
        font-size: 16px !important;
        color: ${hass.states['sensor.panneaux_champs_groupe_1_power_of_p1'].state > 1 ? 'black': hass.states['sensor.panneaux_champs_groupe_2_power_of_p1'].state === 'unavailable' ? 'white': ''} !important;
        display: ${hass.states['sensor.panneaux_champs_groupe_1_power_of_p1'].state === 'unavailable' ? 'OFF' : ''} !important;
      }  

Merci par avance :wink:

Hello,
Je tenterai via cette approche:

${card.querySelector('.bubble-name').innerText = 'Coucou' }

${card.querySelector('.bubble-sub-button-1').innerText = 'Coucou2' }



Ce qui te permets d’afficher comme ceci:
image

Ensuite à la place de coucou tu y mets ton test ?

Hello,
Merci pour ton aide, pour être plus clair je souhaite remplacer directement le texte dans les subbutton :
image
Quand indisponible → Mettre « off » ou « autre »

Tu proposes un texte par défaut à la place de et non pas sous la condition d’avoir indisponible ?

image

    ${card.querySelector('.bubble-name').innerText = 'test' }

    ${card.querySelector('.bubble-sub-button-3').innerText = 'Off' }

Hello,
Je t’ai mis 2 exemples que j’ai pu faire fonctionner sur une carte de test (j’apprends en // aussi ;-)) première ligne pour le bouton principal et la seconde pour le sub-button-1.
Ensuite, comme j’avais vu que tu avais aussi commenceé à jouer avec la partie condition:

Je me suis dit que tu savais faire ^^ Voici un exemple qui affiche soit Maj Dispo ou Maj Pas Dispo ou Chez PÔ si les 2 autres conditions ne sont pas remplies

${card.querySelector('.bubble-sub-button-1').innerText = 
  hass.states['binary_sensor.tplt_available_updates'].state == 'on'
    ? 'Maj Dispos'
    : hass.states['binary_sensor.tplt_update_restart'].state == 'off'
      ? 'Maj Pas Dispo'
    : 'Heu Chez Pô'
}


HTH

Merci beaucoup, oui je tâtonne encore pas mal quand il faut faire des conditions que je n’ai jamais réalisées :confused:
J’ai testé rapidement ta proposition, ça fonctionne très bien pour remplacer le texte quand unavaible ou si égal à 0 mais si ce n’est pas le cas je n’arrive pas à afficher la valeur réelle de l’entité :

  }       
     ${icon.setAttribute("icon", hass.states['sensor.puissance_totale_panneaux_solaire_ap'].state < 1 ? 'mdi:weather-sunny-off' : 'mdi:solar-power')}      
     ${card.querySelector('.bubble-sub-button-3').innerText = 
       hass.states['sensor.panneaux_champs_groupe_1_power_of_p1'].state == 'unavailble'
         ? 'OFF'
         : hass.states['sensor.panneaux_champs_groupe_1_power_of_p1'].state == '0'
         ? 'OFF'
         : ''
  }

Valeur de l’entité égale à 0
image

Si je change avec condition èagle à 1 pour afficher le 0W ou plus :

image
Pas la valeur

Je suppose qu’il faut changer la dernière règle, je vais faire des tests :

Hello @yeoh

Comme cela ? :wink:

${card.querySelector('.bubble-sub-button-1').innerText = 
  hass.states['binary_sensor.tplt_available_updates'].state == 'on'
    ? hass.states['binary_sensor.tplt_available_updates'].state
    : hass.states['binary_sensor.tplt_update_restart'].state == 'off'
      ? 'Maj Pas Dispo'
    : 'Chez Pô'
}

Si = ‹ on › alors j’affiche la valeur du state de ce sensor…
Peut être pas des plus propose d’un pov code mais cela fonctionne ^^

Yapuqa !

1 « J'aime »

Rahh Merci beaucoup je rentre du boulot et je n’est même pas eu à chercher, encore un grand merci, voici le résultat (je verrais demain avec la prod >0) :

  }   
     ${card.querySelector('.bubble-sub-button-3').innerText = 
       hass.states['sensor.panneaux_champs_groupe_1_power_of_p1'].state > 0
         ? hass.states['bsensor.panneaux_champs_groupe_1_power_of_p1'].state
         : hass.states['sensor.panneaux_champs_groupe_1_power_of_p1'].state == 'unavailable'
          ? 'OFF'
         : 'Chez Pô'
  }

image

Je vais dupliquer pour les autres sub-button :ok_hand:

Après si je peux me permettre d’abuser, tu sais pourquoi l’icone 1 dans l’exemple disparait ? La condition n’est que sur la valeur du state pourtant.

essaie de remplacer card.querySelector('.bubble-sub-button-1').innerText par card.querySelector('.bubble-sub-button-1').querySelector('.bubble-sub-button-name-container').innerText

Bravo ça fonctionne :+1::

     ${card.querySelector('.bubble-sub-button-3').querySelector('.bubble-sub-button-name-container').innerText = 
       hass.states['sensor.panneaux_champs_groupe_1_power_of_p1'].state > 0
         ? hass.states['bsensor.panneaux_champs_groupe_1_power_of_p1'].state
         : hass.states['sensor.panneaux_champs_groupe_1_power_of_p1'].state == 'unavailable'
          ? '0 W'
         : '1️⃣'
         
  }
     ${card.querySelector('.bubble-sub-button-4').querySelector('.bubble-sub-button-name-container').innerText = 
       hass.states['sensor.panneaux_champs_groupe_1_power_of_p2'].state > 0
         ? hass.states['bsensor.panneaux_champs_groupe_1_power_of_p2'].state
         : hass.states['sensor.panneaux_champs_groupe_1_power_of_p2'].state == 'unavailable'
          ? '0 W'
         : '2️⃣'


image

Comment tu connais ce type de code, ton métier ? des connaissances ?
Je ne trouve rien de ce type sur la doc bubble ou autres et j’aime bien comprendre pour éviter de solliciter le forum trop souvent :sweat_smile:
En tout cas un grand merci

Mon métier m’a effectivement aidé mais je dirais que c’est surtout les connaissances en autodidacte que j’ai acquises en HTML et en CSS qui ont fait le gros du travail.
Il y a aussi le fait que j’aime beaucoup ce module et que j’ai travaillé dessus suffisamment pour me casser les dents au début et avoir un certain retour d’expérience aujourd’hui.

Avant de dire ton problème je ne connaissais pas la solution. Cependant en HTML une page HTML fonctionne par bloc et chaque bloc est constitué de blocs plus petit. On appelle ça des balises. On peut attribuer à ses balises ont un nom très spécifique, comme bubble-sub-button-3.
De plus j’avais déjà utilisé dans un autre langage la fonction innerText et j’avais remarqué et qu’elle avait remplacé l’intérieur complet d’une balise.

J’ai supposé que c’était ce qu’il se passait dans ton cas. Ensuite j’ai voulu vérifier la structure de la carte. Je me suis servi de l’inspecteur de Chrome pour pouvoir chercher le nom des balises et voir si il y avait des sous balises dans le sub-buton :


Au vu du code que j’avais sous les yeux j’ai supposé que bubble-sub-button-name-container était l’endroit où le texte était écrit. J’ai donc fait un test et ça a fonctionné

3 « J'aime »

C’est fluide chez vous les bubble card ?
J’ai commencé à tester & je trouve que ça mouline quand on en met un peu trop.
La page n’est plus du tout réactive.

Hello,

Tu n’aurais pas un cache de navigateur saturé? essaye de le vider pour voir,
ça doit aussi dépendre du nombre de cartes/infos/popup… ras de mon côté en tout cas sur pi5 et je commence à en avoir pas mal

cdt