@titof2375 : l’édition de la crontab on l’a fait ensemble l’autre soir…
Il suffit de faire crontab -e sur ton terminal SSH
ensuite tu ajoute la ligne avec les * qui va bien
Et ensuite ECHAP+WQ pour sortir en sauvegardant
salut comme dis hier soir j’avais le crontab que l’on avais fait et je crois bien que j’ai trouvée le probleme .
j’avais active le mode protége, c’est pour ca que j’avais tout perdu.
Ce que je demande c’etais la commande que je doit mettre dans le crontab en faite.
La commande à mettre dans la crontab est dans ton screenshot juste au dessus
donc merci je l’ai bien refait alors merci
Bonsoir à tous,
Moi je passe par webcollege et je ne sais pas comment l’intégrer?
Je crois comprendre que c’est l’ent mais je ne vois pas ou est la ligne de conf.
Je suis en seine saint denis.
Merci a vous
Salut @MaC_ToC , tu veut de l’aide?
@MaC_ToC : il semble que le webcollege soir pris en charge par la lib (pronotepy) que j’utilise pour cette intégration
Il suffit donc de mettre la variable de conf ent au début du script à la valeur :
cas_seinesaintdenis
Merci pour ta réponse mais quand je mets ce que tu me dis j’ai cette erreur :
Traceback (most recent call last):
File "/config/python_script/pronote.py", line 25, in <module>
ent =cas_seinesaintdenis #A initialiser si connexion via ENT - avec le nom technique de l'ENT - exemple : ent=paris_classe_numerique
NameError: name 'cas_seinesaintdenis' is not defined
Peut tu mettre t’on fichier?
maintenant j’ai cette erreur
➜ python_script python3.9 pronote.py
Erreur de connexion via l'ENT - vérifier les paramètres
Traceback (most recent call last):
File "/config/python_script/pronote.py", line 45, in <module>
if client.logged_in:
NameError: name 'client' is not defined
➜ python_script
Tu a entré t’est indentifiand?
Bonjour
Je viens de commencer la config HA pour pronote
Je rencontre une erreur lors de l’exécution de la commande SSH
erreur de connexion à pronote (sans ENT )
Mon j’utilise Toutatice pour accéder à pronote « c’est peut être ça l’erreur »
[saisissez ou collez du code ici](https://xxxxxx.pronote.toutatice.fr/pronote/eleve.html?)
Bonjour,
merci pour ce projet, c’est top,
j’ai fait quelques adaptations avec les différentes interventions ci-dessus :
#Récupération emploi du temps du jour
lessons_today = client.lessons(date.today())
lessons_today = sorted(lessons_today, key=lambda lesson: lesson.start)
delta = 1
#Récupération emploi du prochain jour d'école (ça sert le weekend et les vacances)
lessons_nextday = client.lessons(date.today()+ timedelta(days = delta))
while not lessons_nextday:
lessons_nextday = client.lessons(date.today()+ timedelta(days = delta))
delta = delta + 1
lessons_nextday = sorted(lessons_nextday, key=lambda lesson: lesson.start)
#Transformation Json des emplois du temps (J et next)
jsondata['edt_aujourdhui'] = []
jsondata['edt_aujourdhui_debut'] = ""
for lesson in lessons_today:
index=lessons_today.index(lesson)
if not (lesson.start == lessons_today[index-1].start and lesson.canceled == True) :
jsondata['edt_aujourdhui'].append({
'id': lesson.id,
'date_heure': lesson.start.strftime("%d/%m/%Y, %H:%M"),
'date': lesson.start.strftime("%d/%m/%Y"),
'heure': lesson.start.strftime("%H:%M"),
'heure_fin': lesson.end.strftime("%H:%M"),
'cours': lesson.subject.name,
'salle': lesson.classroom,
'annulation': lesson.canceled,
'status': lesson.status,
'background_color': lesson.background_color,
})
if lesson.canceled == False and jsondata['edt_aujourdhui_debut'] == '' :
jsondata['edt_aujourdhui_debut'] = lesson.start.strftime("%H:%M")
jsondata['edt_prochainjour'] = []
jsondata['edt_prochainjour_debut'] = ""
for lesson in lessons_nextday:
index=lessons_nextday.index(lesson)
if not (lesson.start == lessons_nextday[index-1].start and lesson.canceled == True) :
date_nextday = ""
if delta > 2 :
date_nextday = " "+lesson.start.strftime("%d")
jsondata['edt_prochainjour'].append({
'index': index,
'id': lesson.id,
'date_heure': lesson.start.strftime("%d/%m/%Y, %H:%M"),
'date': lesson.start.strftime("%d/%m/%Y"),
'weekday': days[lesson.start.weekday()]+date_nextday,
'heure': lesson.start.strftime("%H:%M"),
'heure_fin': lesson.end.strftime("%H:%M"),
'cours': lesson.subject.name,
'salle': lesson.classroom,
'annulation': lesson.canceled,
'status': lesson.status,
'background_color': lesson.background_color,
})
if lesson.canceled == False and jsondata['edt_prochainjour_debut'] == '' :
jsondata['edt_prochainjour_debut'] = lesson.start.strftime("%H:%M")
J’affiche 2 blocs avec Aujourd’hui et Demain (ou Lundi ou un autre jour s’il y a un weekend ou un jour férié entre).
Et j’ai créé un nouveau sensor pour récupérer l’heure de début de journée (car ça ne prenait pas en compte les annulations).
Côté sensor :
- platform: rest
name: pronote_edt_demo_aujourdhui_debut
scan_interval: 10
json_attributes:
- edt_aujourdhui_debut
value_template: |
{% if value_json.edt_aujourdhui_debut is defined %}
{{ value_json.edt_aujourdhui_debut }}
{% else %}
Pas cours
{% endif %}
resource: '/local/pronote_demo.json'
pronote_edt_demo_prochainjour_cours_0_heure:
friendly_name: -{% if state_attr('sensor.pronote_edt_demo_prochainjour','edt_prochainjour')[0]['date'] == ((as_timestamp(now()) + (24*3600)) | timestamp_custom('%d/%m/%Y', True)) %}Demain{% else %}{{state_attr('sensor.pronote_edt_demo_prochainjour','edt_prochainjour')[0]['weekday']}} {% endif %}
Pour les notes, j’ai rajouté le commentaire pour savoir sur quoi portait le devoir et dans la notification, je récupère la moyenne, la note min, max, le coefficient.
'cours': grade.subject.name+' ('+grade.comment+')',
Côté sensor :
- platform: rest
name: pronote_note_demo
scan_interval: 10
json_attributes:
- note
value_template: |
{% if value_json.note.0 is defined %}
{{ value_json.note.0.cours }} : {{ value_json.note.0.note_sur }}, coefficient : {{ value_json.note.0.coeff }}, moyenne : {{ value_json.note.0.moyenne_classe }}, min : {{ value_json.note.0.min }}, max : {{ value_json.note.0.max }}
{% else %}
None
{% endif %}
resource: '/local/pronote_demo.json'
Y a un truc que j’aimerais faire, c’est recevoir la bonne notification quand il y a plusieurs notes dans la journée, je reçois à chaque fois que la première note. Il faut surement stocker la note déjà reçu quelque part pour ne plus la proposer ?
@tony : désolé je ne vais pas pouvoir faire grand chose - je ne sais pas si toutatis est un ENT ou pas mais je crois qu’il n’est pas géré par la lib pronotepy que j’utilise
Voici le lien vers le fichier de la lib qui gère la connection à pronote via les ENT mais je ne vois pas toutatis
Il faudrait voir avec le développeur de cette lib
@cbroissa-github : hey ! Merci
Tu viens de corriger effectivement un bug car l’heure de début ne prenait pas en compte les annulation
J’avais essayé de le faire avec le template sensor en essayant des boucles for mais ça ne marchait pas…
Toi tu le fais du côté json !
C’est une super idée
Et du coup tu as entrée de plus mais c’est plus facile à détecter
Je vais faire une mise à jour de l’intégration en prenant ta technique
Merci encore
ok merci @Dathosim
as tu déjà contacté le développeur ?
et si oui il besoin de quelles infos ?
perso je ne l’ai jamais contacté mais je sais que l’un des utilisateurs de l’intégration l’a fait
via son compte Github j’imagine - en anglais du coup
Il cherche de l’aide pour maintenir à jour les API des ent, un truc comme ça.
j’ai fais une demande on verra bien