[Article] Intégration Ecole Directe

Bonjour

merci 1000x pour ce plugin qui facilite la vie des parents :slight_smile:
Est-il possible d’avoir la date de dernière MAJ des infos remontées ? Pour s’assurer par exemple que le plugin est 100% à jour ? (ex : pour le calendrier)

merci

1 « J'aime »

Tu peux le faire avec une card entity, par exemple :

type: entities
entities:
  - entity: sensor.ecole_directe_xxx_xxx_timetable_today
    type: attribute
    name: Dernière mise à jour
    attribute: updated_at

image

1 « J'aime »

Pour les absences, tu peux utiliser ça :

type: custom:flex-table-card
title: Absences
strict: true
sort_by:
  - date-
columns:
  - name: Date
    data: absences
    modify: x.date
    id: date
    align: left
  - name: Type
    align: center
    data: absences
    modify: x.type_element
  - name: Détail
    align: center
    data: absences
    modify: x.display_date
  - name: Justifié
    align: center
    data: absences
    modify: |
      if ( x.justified === true )
        'X'
        else
         ''
  - name: Raison
    align: center
    data: absences
    modify: x.motif
entities:
  include: sensor.ecole_directe_xxx_yyy_absences
card_mod:
  style: |
    tbody tr:hover {
      background-color: coral !important;
    }
css:
  table+: 'border-collapse: collapse; padding: 1px;'
  th+: 'border: 1px solid white; padding: 3px;'
  td+: 'border: 1px solid white; padding: 3px;'

source: Intégration Ecole Directe - obsolète - #271 par roumano

As-tu résolu ton problème ?

Oui, tu dois avoir une erreur : attributes are too big! · Issue #24 · hacf-fr/hass-ecoledirecte · GitHub
Il y a trop de données. Je dois réfléchir à un contournement.

Tu as raison. Je vais regarder ta PR dans github. :slight_smile:

1 « J'aime »

C’est parfait, merci beaucoup! !!

Bonjour, j’ai bien installé l’intégration bien supprimer les lignes inutiles dans le QCM mais je n’ai aucune entité de cré sauf école directe update.
Quelqu’un peut-il me donner un coup de main.
Merci

@Sigalou , tu pense que c’est possible de faire une modification sur la carte custom:pronote-evaluations-card ?

En effet, en case de « notes » multiples, on a pas d’infos sur quoi correspond l’évalution de celle-ci :

Je pense qu’on pourrait changer l’overlay (qu’on on surlove l’une évaluation) :
actuellement, on a la note qui parait ( CF « C » dans mon screenshot )

Or dans le sensor utilisé, on a une information utiles ( l’attribut name ) :

sensor.ecole_directe_antonin_xxx_evaluations :
evaluations:
  - name: Oral presentation
    date: "2024-09-23"
    subject: ANGLAIS LV1
    acquisitions:
      - name: Parler en continu
        abbreviation: "3"
        level: null
      - name: Parler en continu
        abbreviation: "2"
        level: null
      - name: Réagir et dialoguer
        abbreviation: "4"
        level: null
   ...
   ...

ps: j’ai un mapping value pour que 2 (notation ecole directe ) correspond a un C (notation pronote) :

mapping_evaluations:
  '1': D
  '2': C
  '3': A
  '4': A+

Bonjour tout le monde

Le problème des devoirs est la trop grosse quantité de devoirs.
Pour pallier à ce problème, je vous propose de ne récupérer que les 14 prochains jours de devoirs par défaut. Ainsi il y aura moins de données dans HA. Et je vais rajouter une option pour modifier le nombre de jours vous-même.
Vous en pensez quoi ?

3 « J'aime »

Oui, mais il faut plus d’informations.
Qu’il y a t’il dans les logs ?

Oui en effet, je pense que c’est une solution.
Ou alors 3 sensors sur le même principe que les timetable avec la semaine courante + les 2 semaines suivantes, avec homework_period_1, homework_period_2, homework_period_3 tout en gardant le homework complet de base. Comme ca en faisant un affichage conditionnel on peu afficher les 3 autres si le complet est vide ?

PS: je ne comprend pas pourquoi je n’ai pas tous les fichiers get_homeworks_by_date_x.json (seulement le 1er sur 7 attendus). Dans le code de get_homeworks(…) je pensais que tous les .json étaient récupérés et la variable contenant tout retournée à la fin. Comment se fait-il que ca plante « au milieu » sans que tous les json ne soient récupérés. Alors que l’erreur est dans EDHomeworksSensor() ?

Merci

ç’est aussi une possibilité à laquelle j’avais pensé.

Par contre, on ne peut pas garder celui-ci à cause du volume.

Je ne peux pas t’aider sur ce sujet, mes enfants n’ont pas de devoir :sweat_smile:
Essaie de mettre un log dans le fichier « ecole_directe_helper.py » :

def get_homeworks_by_date(token, eleve, date, config_path, idx):
    """get homeworks by date"""
    _LOGGER.warning("idx: [%s]", idx)

Bonsoir, après avoir gratter un moment tout fonctionne correctement.
Cependant il semble que les cartes Pronote ne s’affiche sur le téléphone uniquement lorsqu’il est en local est-ce normal ?
Cdt

1 « J'aime »

:thinking: Non, ç’est complétement indépendant…

Bonjour à tous… j’ai voulu créer une entité avec, pour chaque matière, sa moyenne pondérée… pour pouvoir ensuite l’afficher dans une carte
mais je n’y arrive pas…
L’un de vous l’aurait il fait ?

Bonjour,
J’ai installé l’intégration Ecole Directe cela a fonctionné pour l’authentification par contre je n’ai aucun sensor (juste formulaire) en fait c’est le compte de ma conjointe qui est AESH qui suit une élève et j’ai l’impression que les données ne peuvent pas remonter du coup… Car il faut passer par la classe puis sur le profil de l’élève pour accéder aux données… Ma question : Est-ce possible d’utiliser cette intégration ? Merci d’avance

Salut

Dans l’état actuel, ce n’est pas possible. L’intégration est prévu pour les parents ou les élèves.
Il doit être possible de l’adapter. J’ai besoin du fichier « get_ecoledirecte_session2.json » qui se trouve dans le répertoire « /config/custom_components/ecole_directe ». Envoie le moi par MP.

Je ne peux pas t’aider sur ce sujet, mes enfants n’ont pas de devoir :sweat_smile:
Essaie de mettre un log dans le fichier « ecole_directe_helper.py » :

def get_homeworks_by_date(token, eleve, date, config_path, idx):
    """get homeworks by date"""
    _LOGGER.warning("idx: [%s]", idx)

Grace à ta ligne, j’ai pu voir qu’il y a un bug dans le nommage des fichiers json des devoirs, ce qui ne change rien au problème de base mais qui permet de debugger et qui explique mon problème d’absence de fichiers, je t’envoie un fix sur Github.

1 « J'aime »

Bonjour à tous,

comment faire pour avoir une notification à chaque nouvelle note ?

j’ai essayé :

alias: Ecole Directe - notification nouvelle note
description: Notification en cas de nouvelle note sur Ecole Directe
trigger:
  - platform: event
    event_type: ecole_directe_event
    event_data:
      type: new_grade
condition: []
action:
  - action: notify.mobile_app_pixel_7_pro_mm
    metadata: {}
    data:
      message: >-
        {{ trigger.event.data.data.subject }} : {{
        trigger.event.data.data.grade_out_of }} ({{
        trigger.event.data.data.comment }})
      title: Nouvelle note pour {{ trigger.event.data.child_name }}
mode: single

Mais cela ne fonctionne pas

Bonjour,

j’ai fait cela différemment en partant sur le changement d’état sur le sensor grade.
Je remonte par la suite l’ensemble des nouvelles notes.
Je devrais pouvoir passer par le trigger pour le rendre plus générique mais je ne suis pas certain comment récupérer les attributs dans ce cas.

alias: Ecole - Notification notes V2
description: ""
trigger:
  - platform: state
    entity_id:
      - sensor.ecole_directe_prenom_nom_grades
    from: null
    to: null
condition: []
action:
  - action: notify.mobile_app_phone
    metadata: {}
    data:
      message: >-
        Nouvelle note - {% set numberGrades =
        (trigger.to_state.state| int) - (trigger.from_state.state| int) %} {%
        for i in range(numberGrades) -%}
          {{ state_attr("sensor.ecole_directe_prenom_nom_grades", "grades")[i]['subject'] }} , {{ state_attr("sensor.ecole_directe_prenom_nom_grades", "grades")[i]['grade_out_of'] }}
          {{ f }}
        {%- endfor %}
mode: single
1 « J'aime »