Waouh, super impressionnant ! Bravo. Juste quand je l’applique chez moi, j’ai un petit bug sur la moyenne en math qui n’apparait pas en rouge alors qu’elle est inférieure à la moyenne de classe.
Je confirme ce que te dis @vingerha : que ce soit par QR code ou en obtenant un login « direct » par la méthode donnée par @Cedrix ici: [BETA] Intégration Pronote - #123 par Cedrix
L’intégration Pronote fonctionne très bien, y compris dans les Hauts-de-Seine
L’« issue » GitHub ne concerne que la connexion via le CAS, qui est inutile en réalité…
Petite nouveauté, en test via la version 0.11.0 : les events lors de nouvelle note, retard ou absence.
Quand il y a une nouvelle note par exemple, vous aurez un event de ce type :
Les data renvoyées sont du format :
child_name: NOM Prénom
child_slug: nom_prenom
type: new_grade # ou new_delay ou new_absence
data:
# ici on retrouve la donnée concernée
Avec ça vous pourrez déclencher des notif, par exemple :
alias: Pronote > notif nouvelle note
description: ""
trigger:
- platform: event
event_type: pronote_event
event_data:
type: new_grade
action:
- service: notify.VOTRE_DEVICE
data:
message: >-
{{ trigger.event.data.data.subject }} : {{
trigger.event.data.data.grade_out_of }}
title: Nouvelle note pour {{ trigger.event.data.child_name }}
Et oui, promis, je ferai bientôt une documentation plus détaillée des sensors, events, etc.
Bonjour
J’ai installé l’intégration hier, super boulot, bravo !
Je rencontre par contre un problème sur un cours qui a un statut annulé dans homeassistant alors qu’il est bien maintenu sur pronote. Quelqu’un a déjà rencontré ce cas ?
Hello,
Est-ce que tu peux montrer la totalité des cours de la journée stp ?
Parfois j’ai par exemple :
- un cours de maths annulé
- un cours de maths mis à la même heure
Du coup dans pronote, c’est transparent, ça n’affiche pas le cours annulé, alors que l’API renvoie bien le cours annulé + le cours qui remplace.
Je parlais de ce que tu as dans le sensor
Ah merde, désolé
Voila le contenu du sensor :
updated_at: 2023-10-18T10:02:19.601554
lessons:
- start_at: '2023-10-18T08:00:00'
end_at: '2023-10-18T08:50:00'
start_time: '08:00'
end_time: '08:50'
lesson: MATHEMATIQUES
classroom: B12
canceled: false
status: null
background_color: '#195A46'
classrooms:
- B12
outing: false
memo: null
group_name: null
group_names: []
exempted: false
virtual_classrooms: []
num: 318
detention: false
test: false
- start_at: '2023-10-18T08:50:00'
end_at: '2023-10-18T09:40:00'
start_time: '08:50'
end_time: '09:40'
lesson: SOUTIEN OU APPROFON.
classroom: B12
canceled: false
status: null
background_color: '#FFFFFF'
classrooms:
- B12
outing: false
memo: null
group_name: '[6G APPRO MATHS]'
group_names:
- '[6G APPRO MATHS]'
exempted: false
virtual_classrooms: []
num: 888
detention: false
test: false
- start_at: '2023-10-18T10:00:00'
end_at: '2023-10-18T10:50:00'
start_time: '10:00'
end_time: '10:50'
lesson: EDUCATION MUSICALE
classroom: B15
canceled: false
status: null
background_color: '#C5B074'
classrooms:
- B15
outing: false
memo: null
group_name: null
group_names: []
exempted: false
virtual_classrooms: []
num: 846
detention: false
test: false
- start_at: '2023-10-18T10:50:00'
end_at: '2023-10-18T11:40:00'
start_time: '10:50'
end_time: '11:40'
lesson: ANGLAIS LV1
classroom: B14
canceled: false
status: null
background_color: '#CE6DA6'
classrooms:
- B14
outing: false
memo: null
group_name: null
group_names: []
exempted: false
virtual_classrooms: []
num: 441
detention: false
test: false
- start_at: '2023-10-19T08:00:00'
end_at: '2023-10-19T08:50:00'
start_time: '08:00'
end_time: '08:50'
lesson: FRANCAIS
classroom: B05
canceled: false
status: null
background_color: '#E73A1F'
classrooms:
- B05
outing: false
memo: null
group_name: null
group_names: []
exempted: false
virtual_classrooms: []
num: 583
detention: false
test: false
- start_at: '2023-10-19T08:50:00'
end_at: '2023-10-19T09:40:00'
start_time: '08:50'
end_time: '09:40'
lesson: MATHEMATIQUES
classroom: B12
canceled: false
status: null
background_color: '#195A46'
classrooms:
- B12
outing: false
memo: null
group_name: null
group_names: []
exempted: false
virtual_classrooms: []
num: 317
detention: false
test: false
- start_at: '2023-10-19T10:00:00'
end_at: '2023-10-19T10:50:00'
start_time: '10:00'
end_time: '10:50'
lesson: FRANCAIS
classroom: B05
canceled: false
status: null
background_color: '#E73A1F'
classrooms:
- B05
outing: false
memo: null
group_name: null
group_names: []
exempted: false
virtual_classrooms: []
num: 585
detention: false
test: false
- start_at: '2023-10-19T10:50:00'
end_at: '2023-10-19T11:40:00'
start_time: '10:50'
end_time: '11:40'
lesson: HISTOIRE-GEOGRAPHIE
classroom: D1
canceled: false
status: null
background_color: '#41768B'
classrooms:
- D1
outing: false
memo: null
group_name: null
group_names: []
exempted: false
virtual_classrooms: []
num: 191
detention: false
test: false
- start_at: '2023-10-19T13:10:00'
end_at: '2023-10-19T14:00:00'
start_time: '13:10'
end_time: '14:00'
lesson: ARTS PLASTIQUES
classroom: B17
canceled: false
status: null
background_color: '#5B215F'
classrooms:
- B17
outing: false
memo: null
group_name: null
group_names: []
exempted: false
virtual_classrooms: []
num: 800
detention: false
test: false
- start_at: '2023-10-19T14:00:00'
end_at: '2023-10-19T14:50:00'
start_time: '14:00'
end_time: '14:50'
lesson: ANGLAIS LV1
classroom: B14
canceled: false
status: null
background_color: '#CE6DA6'
classrooms:
- B14
outing: false
memo: null
group_name: null
group_names: []
exempted: false
virtual_classrooms: []
num: 438
detention: false
test: false
- start_at: '2023-10-19T15:05:00'
end_at: '2023-10-19T15:55:00'
start_time: '15:05'
end_time: '15:55'
lesson: DEVOIRS FAITS
classroom: B04
canceled: false
status: null
background_color: '#A2C62B'
classrooms:
- B04
outing: false
memo: null
group_name: '[6GP.1]'
group_names:
- '[6GP.1]'
exempted: false
virtual_classrooms: []
num: 1416
detention: false
test: false
- start_at: '2023-10-20T08:00:00'
end_at: '2023-10-20T08:50:00'
start_time: '08:00'
end_time: '08:50'
lesson: MATHEMATIQUES
classroom: B12
canceled: false
status: null
background_color: '#195A46'
classrooms:
- B12
outing: false
memo: null
group_name: null
group_names: []
exempted: false
virtual_classrooms: []
num: 316
detention: false
test: false
- start_at: '2023-10-20T08:50:00'
end_at: '2023-10-20T09:40:00'
start_time: '08:50'
end_time: '09:40'
lesson: FRANCAIS
classroom: B05
canceled: true
status: Cours annulé
background_color: '#E73A1F'
classrooms:
- B05
outing: false
memo: null
group_name: null
group_names: []
exempted: false
virtual_classrooms: []
num: 584
detention: false
test: false
- start_at: '2023-10-20T08:50:00'
end_at: '2023-10-20T09:40:00'
start_time: '08:50'
end_time: '09:40'
lesson: FRANCAIS
classroom: B05
canceled: false
status: null
background_color: '#E73A1F'
classrooms:
- B05
outing: false
memo: null
group_name: null
group_names: []
exempted: false
virtual_classrooms: []
num: 2047
detention: false
test: false
- start_at: '2023-10-20T10:00:00'
end_at: '2023-10-20T11:40:00'
start_time: '10:00'
end_time: '11:40'
lesson: ED.PHYSIQUE & SPORT.
classroom: null
canceled: false
status: null
background_color: '#F4DAD7'
classrooms: []
outing: false
memo: null
group_name: null
group_names: []
exempted: false
virtual_classrooms: []
num: 13
detention: false
test: false
day_start_at: 2023-10-18T08:00:00
day_end_at: null
canceled_lessons_counter: 1
l’intégration donne chaque ligne dans pronote, peut-^tre c’était annulé avant et reactivé après…donc 2 lignes…pire(plusqieurs fois dans notre école) cours > annulé > changé > maintenu …4 lignes
Merci pour la mise à jour et les nouvelles fonctions
J’ai mis en place la notification pour les nouvelles notes, ça marche bien,
cependant j’essaye de rendre cette notification clickable, pour pouvoir ouvrir le dashboard dédié à Pronote, mais je n’y arrive pas…
Savez vous comment faire pour « naviguer » sur un dashboard à partir du click de la notif ?
J’arrive à lancer une action etc… mais pas ouvrir un dashboard
Exemple pour shopping list
A bien savoir que sur le iPhones il faut pas toucher longtemps ou après un autre pop-up dit : aller au URL
service: notify.mobile_app_iphonea
data:
message: "{{states.sensor.shopping_list.state}}"
title: Boodschappen herinnering
data:
actions:
- action: URI
title: Open Url
uri: /shopping-list
merci @vingerha
j’ai réussi en mettant ça :
action:
- service: notify.mobile
data:
message: >-
{{ trigger.event.data.data.subject }} : {{
trigger.event.data.data.grade_out_of }}
title: Nouvelle note pour {{ trigger.event.data.child_name }}
data:
clickAction: /pronotes-notes
url: /pronotes-notes
Cet événement ne peut contenir qu’une seule data?
ex : S’il y a 2 nouvelles notes cela se traduit par 2 événements?
Merci
Oui, c’est ça, chaque nouvel « élément » (note / retard / absence) déclenche un événement, 2 nouvelles notes = 2 événements.
Merci pour cette nouveauté !
Comment je m’y prends, si c’est possible, a partir de l’event, pour avoir des infos plus précises car actuellement j’ai cette notif complète, adaptée a chaque enfant :
title: Pronote Léane
message: >-
{% if states('sensor.pronote_xxx_l_ane_delays') != 'unavailable' %}{% set
delay = state_attr('sensor.pronote_xxx_l_ane_delays','delays')[0] %}
{% if delay.justified %}🟢{%else%}😡{%endif%} Retard {% if delay.justified
%}justifié{%else%}non justifié{%endif%} de Léane
{{delay.minutes}} minutes de retard le {{delay.date.strftime('%d/%m/%Y')}}
à {{delay.date.strftime('%H:%M')}} => {{delay.justification}} /
{{delay.reasons}}{%endif%}
Dois-je créé un template qui dirai
« if trigger.event.data.child_name == Léane … elif trigger.event.data.child_name == Tom »
etc…?
quelqu’un pourrait me donner un exemple des données envoyées pour un retard ?
je cherche à faire une carte retards mais pour l’instant j’en ai pas.
A moins que quelqu’un ait déjà une carte de retards ?
je me suis peut être mal exprimé, je veux créer une carte de retard mais je ne sais pas quelles données elles renvoient puisque pour l’instant je n’ai aucun retard de mes enfants.
J’aurais voulu avoir les noms de données pour pouvoir concevoir la carte.
Ou sinon si une aide charitable a déjà créer une carte, je suis preneur du code