Oui ce code est présent dans le fichier de config
Allez hop nouvelle version alpha 0.0.6…
ça devrait corriger les notes.
Mais pour le cahier de texte, je séche…
C’est compliqué de développer en aveugle…
version alpha 0.0.7
Je viens de voir que l’url pour le cahier de texte s’écrit:
https://api.ecoledirecte.com/v3/Eleves/id_eleve/cahierdetexte.awp?verbe=get
avec un E majuscule à Eleves…
Si ça ne marche pas, je change mes enfants d’école!
Hello,
Et bien deja grand merci pour l’initiative, je jalousai les users pronote !
install et test de la v0.07.
ok pour les notes
ko pour les devoirs
Prepare tes enfants au changement d’ecole
Mauvaise blague a part, voici un extrait de log qui permet d’esperer issue positive ; ca cause.
* Error getting devoirs from ecole directe: Error with URL:[https://api.ecoledirecte.com/v3/Eleves/6634/cahierdetexte.awp?verbe=get&v=4.53.0]: b'{"code":200, "token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "host":"HTTP12", "data":{"2024-03-20":[{"matiere":"ITALIEN LV3", "codeMatiere":"ITA3", "aFaire":true, "idDevoir":16340, "documentsAFaire":false, "donneLe":"2024-03-15", "effectue":false, "interrogation":false, "rendreEnLigne":false}], "2024-03-21":[{"matiere":"ACCOMPAGNEMT. PERSO.", "codeMatiere":"ACCPE", "aFaire":true, "idDevoir":16269, "documentsAFaire":false, "donneLe":"2024-03-15", "effectue":false, "interrogation":false, "rendreEnLigne":false},{"matiere":"MATHEMATIQUES", "codeMatiere":"MATHS", "aFaire":true, "idDevoir":16555, "documentsAFaire":false, "donneLe":"2024-03-18", "effectue":false, "interrogation":false, "rendreEnLigne":false}], "2024-03-22":[{"matiere":"PHYSIQUE-CHIMIE", "codeMatiere":"PH-CH", "aFaire":true, "idDevoir":16447, "documentsAFaire":false, "donneLe":"2024-03-17", "effectue":false, "interrogation":false, "rendreEnLigne":false}], "2024-03-25":[{"matiere":"SCIENCES VIE & TERRE", "codeMatiere":"SVT", "aFaire":true, "idDevoir":15740, "documentsAFaire":true, "donneLe":"2024-03-11", "effectue":false, "interrogation":false, "rendreEnLigne":false},{"matiere":"PHYSIQUE-CHIMIE", "codeMatiere":"PH-CH", "aFaire":true, "idDevoir":16097, "documentsAFaire":true, "donneLe":"2024-03-13", "effectue":false, "interrogation":false, "rendreEnLigne":false},{"matiere":"ANGLAIS LV1", "codeMatiere":"AGL1", "aFaire":true, "idDevoir":15442, "documentsAFaire":false, "donneLe":"2024-03-07", "effectue":false, "interrogation":false, "rendreEnLigne":false},{"matiere":"PHYSIQUE-CHIMIE", "codeMatiere":"PH-CH", "aFaire":true, "idDevoir":16093, "documentsAFaire":true, "donneLe":"2024-03-13", "effectue":false, "interrogation":false, "rendreEnLigne":false}], "2024-03-29":[{"matiere":"ESPAGNOL LV2", "codeMatiere":"ESP2", "aFaire":true, "idDevoir":16553, "documentsAFaire":false, "donneLe":"2024-03-18", "effectue":false, "interrogation":true, "rendreEnLigne":false},{"matiere":"PHYSIQUE-CHIMIE", "codeMatiere":"PH-CH", "aFaire":true, "idDevoir":16089, "documentsAFaire":true, "donneLe":"2024-03-13", "effectue":false, "interrogation":false, "rendreEnLigne":false}], "2024-04-02":[{"matiere":"ESPAGNOL LV2", "codeMatiere":"ESP2", "aFaire":true, "idDevoir":16643, "documentsAFaire":false, "donneLe":"2024-03-19", "effectue":false, "interrogation":true, "rendreEnLigne":false}], "2024-04-03":[{"matiere":"ITALIEN LV3", "codeMatiere":"ITA3", "aFaire":true, "idDevoir":16328, "documentsAFaire":false, "donneLe":"2024-03-15", "effectue":false, "interrogation":false, "rendreEnLigne":false}], "2024-04-04":[{"matiere":"ESPAGNOL LV2", "codeMatiere":"ESP2", "aFaire":true, "idDevoir":16550, "documentsAFaire":false, "donneLe":"2024-03-18", "effectue":false, "interrogation":true, "rendreEnLigne":false}], "2024-04-05":[{"matiere":"PHYSIQUE-CHIMIE", "codeMatiere":"PH-CH", "aFaire":true, "idDevoir":16096, "documentsAFaire":true, "donneLe":"2024-03-13", "effectue":false, "interrogation":false, "rendreEnLigne":false}], "2024-04-22":[{"matiere":"ANGLAIS LV1", "codeMatiere":"AGL1", "aFaire":true, "idDevoir":15443, "documentsAFaire":false, "donneLe":"2024-03-07", "effectue":false, "interrogation":false, "rendreEnLigne":false}]}}'
Et encore merci pour ce boulot !
Belli alors j’avais pas mis à jour depuis la version 3 de l’alpha il me semble !
Chose faite et pour les devoir je n’en ai pas ouf j’aurais pas à bosser
Pour les notes il y a du monde mais faut que je regarde en détail comment il propose les choses car j’ai l’impression que c’est toutes on année en vrac non ?
Mon fils a 1 note sur le trim 3 et j’en vois bcp plus !
J’ai pas fait attention encore s’il y avait le choix de trimestre ou pas.
Il va falloir mettre ça en carte afin de rendre la lecture plus simple
En tout cas déjà super tag pour un non dev comme tu dis
Cool! Peux-tu faire un screenshot du sensor ?
Eh bah, non! car si tu regardes l’erreur, les devoirs sont là!
C’est l’erreur que j’attendais (oui, je suis un peu mazo )
Maintenant, je dois formater ça correctement dans le sensor.
Oui, de ce que j’ai vu, il y a toutes les notes de l’année scolaires…
Je me disais qu’on pouvais utiliser les cartes de Pronote. Il faut juste que j’adapte les sensors.
Je te rassure, je suis un dev, mais ç’est ma première fois avec Python.
Oui j’ai fait un raccourci de langage avec ce que tu disais en préambule mais tu fais bien de préciser
En tout bravo à toi
Bon par contre je vais tester 2 mois maxi car mon fils part ensuite au lycée et là c’est pas école direct ni pronote mais l’ENT
Hello,
Merci pour ton retour et content pour tes enfants
Cool pour les devoirs !!! Je surveillerai nouvelle version pour re-test.
Sur les notes j’ai regardé un peu vite, mais en effet,c’est du vrac et incomplet (sous reserve que depuis l’espace développement/etat on voit l’intégralité des attributs). J’ai les notes jusqu’en novembre, rien au dela.
Bonjour,
J’ai installé l’intégration Ecole Directe.
Mon fils est en première année de prépa (PTSI) dans un lycée.
Bonjour,
Voici un code pour afficher les notes d’un enfant avec :
- Trié par date pour voir les nouvelles en premier.
- si pas de note, on affiche pas dans la colonne
- si la note > moyenne : en couleur vert
- si la note <= 8 en couleur rouge
- si la note + 2 > moyenne : en couleur vert clair
- sinon en couleur orange
On peut adapter et/ou rajouter des colonnes (moi j’ai jamais de valeur dans minClasse
/ maxClasse
par exemple )
type: custom:flex-table-card
title: Note Ecole Direct
strict: true
sort_by:
- date-
columns:
- name: Date
data: notes
modify: |
x.date
id: date
align: left
- name: Notes
align: center
data: notes
modify: >
if ( x.valeur.length === 0 && parseInt(x.noteSur) == 0 )
''
else if ( parseFloat(x.valeur) >= parseFloat(x.moyenneClasse) )
'<div style="color:#139523;">' + x.valeur + ' / ' + x.noteSur + ' </div>'
else if ( parseFloat(x.valeur) <= 8 )
'<div style="color:#E70B0B;">' + x.valeur + ' / ' + x.noteSur + ' </div>'
else if (( parseFloat(x.valeur) + (parseFloat(2))) >=
parseFloat(x.moyenneClasse))
'<div style="color:#6fd442;">' + x.valeur + ' / ' + x.noteSur + ' </div>'
else
'<div style="color:#ff8200;">' + x.valeur + " / " + x.noteSur + ' </div>'
- name: Moyenne
align: center
data: notes
modify: |
x.moyenneClasse
- name: devoir
align: center
data: notes
modify: x.devoir
- name: libelleMatiere
align: center
data: notes
modify: x.libelleMatiere
entities:
include: sensor.ecole_directe_notesxxxx_yyyy
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;'
@Giga77 , Après, je sais pas pourquoi mais moi, j’ai peut de notes et seulement de septembre et d’octobre , …
Donc pour l’instant, ça me sert pas (mais comme c’est en alpha c’est sûrement normal)
Bonne journée a vous
Oui, il y a juste les 15 premières notes fourni par Ecole Directe pour éviter de surcharger le sensor.
Je dois ordonner les notes par date pour avoir les 15 dernières.
Je suis en train de modifier les sensors pour utiliser les cartes de Pronotes : GitHub - delphiki/lovelace-pronote: Lovelace cards for the Pronote integration
Nouvelle version 0.0.8!!!
J’ai fait pas mal de modifications. J’espère que je n’ai rien cassé
Pour les futures mises à jour, je vous invite à supprimer le répertoire ecole_directe, et à l’installer via HACS en suivant cette procédure :GitHub - hacf-fr/hass-ecoledirecte: Ecole directe integration for Home Assistant.
Ainsi vous pourrez mettre à jour via HACS.
Normalement, les entités sont compatibles avec les cartes Pronotes : GitHub - delphiki/lovelace-pronote: Lovelace cards for the Pronote integration
Mais il est fort probable que je doive faire un fork pour rajouter d’autres informations.
Je vous invite à les tester, et faite moi un retour
Les devoirs vont peut-être fonctionner mais j’en doute . Je dois faire d’autres appels à l’API pour obtenir plus d’infos et ensuite croiser les données… ça m’étonnerait que j’y arrive du premier coup…
J’ai rajouté aussi un événement pour les nouvelles notes, donc vous pouvez créer des automatisations avec notifications
Cool, je teste ça ce weekend si j’ai le temps et te fais le retour
Salut,
Merci pour ton travail, depuis la MAJ 0.0.8 je n’ai plus de sensor l’intégration et vide
Bonne soiree
Peux tu partager tes logs ?
Hello,
Mise à jour en 0.0.8 faite.
En effet, plus de sensor, voici les log :
Error while setting up ecole_directe platform for sensor
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 350, in _async_setup_platform
await asyncio.shield(awaitable)
File "/config/custom_components/ecole_directe/sensor.py", line 48, in async_setup_entry
sensors.append(EDHomeworksSensor(coordinator, eleve))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/ecole_directe/sensor.py", line 160, in __init__
f"homeworks{self._child_info.get_fullname_lower()}",
^^^^^^^^^^^^^^^^
AttributeError: 'EDHomeworksSensor' object has no attribute '_child_info'
A ta dispo !!
Hello,
De rien !
Mais nouvelle erreur
Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1495, in _async_process_registry_update_or_remove
self.async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 992, in async_write_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1113, in _async_write_ha_state
state, attr, capabilities, shadowed_attr = self.__async_calculate_state()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1053, in __async_calculate_state
attr.update(self.extra_state_attributes or {})
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/ecole_directe/sensor.py", line 181, in extra_state_attributes
if homework.effectue is False:
^^^^^^^^^^^^^^^^^
AttributeError: 'EDHomework' object has no attribute 'effectue'
As-tu un warning avant cette erreur ?
Si oui, peux-tu me donner son contenu ?