Pronote dans HA - les notes, devoirs, absences et emploi du temps des enfants

app comme ça, je l’a copié de mon install et modifié …mais je ne l’a pas testé ce que je ne peux pas avant le w/e.
Mes attributes sont normalement en anglais et je ne sais pas si t’es d’accord avec les traductions si-dessous…tu peux bien sûrere les changer et proposer vers @Dathosim

    # recup des punishments
	punishments = client.current_period.punishments
	punishments = sorted(punishments, key=lambda punishment: punishment.given, reverse=True)

	
    #Transformation des punishments en Json
	
    jsondata['punishments'] = []
	for punishment in period.punishments:
		jsondata['punishments'].append({
			'id': punishment.id,
			'date': punishment.given.strftime("%Y/%m/%d"),
			'cours': punishment.during_lesson,
			'raisons': punishment.reasons,
			'circonstances': punishment.circumstances,
			'nature': punishment.nature,
			'duree': str(punishment.duration),
			'devoirs': punishment.homework,
			'exclusion': punishment.exclusion,                    
		})

j’ai essayé mais je but sur ce défaut:
image

Comme écrit, pas testé et pour mon retour Il faut attendre vers le w/e ou peut-être qqu peux ajouter aussi.

Hello,

Je viens de changer de trimestre et les évaluations ne s’affichent plus dans la lovelace.
Voici mon code :

<div>Evaluations</div>
<table>
  <tbody>
  {% set attr = states.sensor.pronote_evaluation_camille.attributes.evaluation %}
  {% for x in range (0,5) %}
  <tr>
    <td>{{attr[x]['date_courte']}}</td>
    <td>{{attr[x]['eval']}} ({{attr[x]['prof']}})</td>
    <td width="15%">Coeff. : {{attr[x]['coeff']}}</td>
  </tr>
    {%for attr2 in attr[x].acquisitions-%}
  <tr>
    <td></td>
    <td>{{attr2['acquisition']}}</td>
    <td>
      {%- if attr2['acquisition_niveau'] == "1" %}🔴{%- endif %}
      {%- if attr2['acquisition_niveau'] == "2" %}🟡{%- endif %}
      {%- if attr2['acquisition_niveau'] == "3" %}🟢{%- endif %}
      {%- if attr2['acquisition_niveau'] == "4" %}🟢+{%- endif %}
      {%- if attr2['acquisition_niveau'] == "Ne" %}⚪️{%- endif %}
    </td>
  </tr>
    {% endfor %}
  <tr><td colspan="3"><hr></td></tr>
  {% endfor %}
  </tbody>
</table>

Le pb vient de la ligne {% for x in range (0,5) %} car je n’ai pas encore assez d’évaluations… En remplacement le 0,5 par 0,0 c’est ok (car je n’ai qu’une seule évaluation).

J’ai modifié le début comme ceci :

  {% set attr = states.sensor.pronote_evaluation_camille.attributes.evaluation %}
  {% if attr|length < 5 %}
    {% set nombre = attr|length %}
  {% else %}
    {% set nombre = 5 %}
  {% endif %}
  {% for x in range (0,nombre) %}

essaie:

{% for x in range (0,attr|count) %}

Le soucis de ça c’est que ça affiche tout du coup, donc plus besoin du for.

tu fait exactement la même mais avec un If + else et (!) for …donc la mienne devrait être plus efficace.
EDIT: recul…tu veux que max 5 retours…je ne me rappele plus comment le faire plus efficace…c’est pas importante non plus :slight_smile:

attr|count = le nombre total d’évaluation, non ?

donc ta boucle for va parser toutes les éval et pas seulement les x premières.

Je me trompe ?

EDIT : j’ai vu ton edit :slight_smile: et en effet, y’a sans doute plus simple que if… else…

voir mon edit…j’avais pas compris que tu cherche que 5

Essaie ça

{% for x in range(0,attr|count if attr|count <= 5 else 5) %}

Nickel !! Merci beaucoup

Je suis un peu rouillé :slight_smile:

Il y a un soucis avec current_period et je ne suis pas sûre si c’est que chez moi. Ça marche que pour Semestre 1 our Trimestre 1 sans erreurs
pour extraire le tout, essaie ça et stp m’informer si ça marche sans erreurs
Pour le (mon?) soucis, j’ai déjà ouvert un ticket chez pronotepy

    periods = client.periods
    jsondata = {}
    jsondata['punishments'] = []
    for period in periods:
        for punishment in period.punishments:
            jsondata['punishments'].append({
                'pid': period.id,
                'periodName': period.name,
                'periodStart': period.start.strftime("%Y/%m/%d"),
                'periodEnd': period.end.strftime("%Y/%m/%d"),
                'punid': punishment.id,
                'punishmentDate': punishment.given.strftime("%Y/%m/%d"),
                'punishmentDuringLesson': punishment.during_lesson,
                'punishmentCircumstances': punishment.circumstances,
                'punishmentReasons': punishment.reasons,
                'punishmentNature': punishment.nature,
                'punishmentDuration': str(punishment.duration)[:4],
                'punishmentHomework': punishment.homework,
                'punishmentExclusion': punishment.exclusion,
            })
    print(jsondata)

bonsoir,
je viens de proposer une petite amélioration sur Github pour permettre de gérer les pronotes non hébergés par index-education.net

j’ai du raté quelques petites choses car j’ai quelques bugs :

  • ce matin mon fils commençait à 10h suite à une absence, mais le début des cours ne l’a pas pris en compte.
  • sur l emploi du temps j’ai l’emploi du temps demain et celui du jour suivant qui affiche la même chose
  • pour les notes , seule une matière ( mathématiques ) est extraite ; j’ai l’impression que c’est la seule matière qui est passée au 3ème trimestre

en tout cas un énorme merci pour cette intégration !!!
je rêve d’y ajouter google family link et le contrôle parental de la switch en fonction des devoirs :smiley:

1 « J'aime »

Pour ceux qui sont intéressés de reduire la taille d’un markdown card mais garder l’option de voir l’historique … j’ai reçu ça comme solution pour « scrolling »

 ha-card ha-markdown {
                padding:0px
                border-top: 1px groove var(--divider-color);
                overflow-y: scroll;
                height: 300px;
              }
3 « J'aime »

C’est top ça ! ça permet de tout afficher sans prendre trop de place (et donc de pas avoir besoin de if… else… elif… :slight_smile: )

Un truc que je n’arrive pas à faire c’est avoir un sous tableau dans le markdown qui garde la couleur de la ligne en cours.

Exemple : sur l’image, je voudrais que la ligne « s’approprier et respecter… » soit blanche et que les lignes en desous du 13/03 soient grises.
image


Bonjour vingerha, j’utilise Pronote2mqtt :+1: (avec Pronote2Homeassistant, crontab ne répondais pas), mon Home Assistant est en VM sur un Synology. J’aimerai connaitre le code que vous avez utilisé pour intégrer la date voir capture d’écran « Friday 17 »

Voila ce que cela me fait:
image