salut je ne comprend pas tros t’on truc
Quelqu’un a trouvé le moyen de recevoir les différentes notes d’une même journée et pas seulement la première à chaque fois ?
Recevoir: par notification ou dans HA?
Dans HA… c’est pas dispo de base. La demande des données passe par pronotepy et on peut ajouter/selectionnner par ‹ period › mais c’est apd Trimestre, ensuite Semestre…etc.
Si c’est ‹ que › pout les notifications il faut trouver quelq’un qui peut produire un script de sorte
Oui pardon je parlais de la notification avec le sensor qui renvoie tout le temps la même note sur une journée.
OK, donc…il faut adapter l’automation liée. L’automation déclenche avec le changement du sensor et tu pourrait ajouter des conditions.
Je ne comprend pas le principe :
Si il a une nouvelle note à 18h qui tombe - on envoie une notif avec toutes les notes du jour ? Ça n’a pas virement de sens
Autant envoyer la notif de la note qui vient de tomber et dès qu’elle tombe non ?
Ah !!! Mais ça y’a une solution !
Car si il renvoie plusieurs fois la notif dans la journée c’est parce que l’une des autres notes a été modifiée ! Ou pire une note d’un autre élève qui fait varier la moyenne de classe
Et du coup l’état du sensor ne bouge pas mais l’attribut json qui contient toutes les notes de la période lui il a changé donc ça renvoie une notif
Il faut créer un 2eme sensor note qui ne contient que la dernière note et pas le json de toutes les notes en attribut (copier coller et supprimer une ligne)
Et ensuite on base les automatisations sur ce sensor note allégé
Nb : je l’ai dans ma todo depuis des semaines mais on arrive à la fin de l’année je ne pourrais tester que l’année prochaine
Oui ça serait bien et on peut tester en modifiant le json à la main
@sosordinet : désolé pour la réponse très tardive mais nous aurions besoins de tes lumières
Arrives-tu à faire tourner le script pronote sur une installation de Ha en Hassio
Et est-ce que si tu redémarre ton installation tu retrouves le script et la configuration
Et aussi comment fais-tu pour lancer le script
Régulièrement (toute les 10 minutes)
Ça aiderait pas mal de personnes qui sont sur une installation Hassio et qui n’ont pas accès à une Vm pour faire tourner le script et pas de crontab
Merci d’avance
J’utilise pycron dans mon container…
# pycron: on minute 0 (so every full hour) / on hours 6 till 20 / every day in month / every month on weekdays sunday till friday
self.scheduleCron = '0 6-20 * * sun-fri'
if myParams.scheduleCron is not None:
logging.info("-----------------------------------------------------------")
logging.info("Awaiting cron to kick off => %s (hour / range / daymth / mth / weekdays", myParams.scheduleCron)
logging.info("-----------------------------------------------------------")
while True:
if pycron.is_now(myParams.scheduleCron):
logging.info("-----------------------------------------------------------")
logging.info("In scheduler (pycron)")
logging.info("-----------------------------------------------------------")
job()
time.sleep(60)
Bonjour,
Sur HA OS, je m’était tout simplement servi de la méthode de @defre a savoir, copier le package Pronotepy en local avec la commande cp
cp -R /usr/lib/python3.9/site-packages/pronotepy /config/python_scripts/local-packages/
Ajouter ceci au debut du script Pronotepy:
import sys
sys.path.append("/config/python_scripts/local-packages")
Créer le fichier pronotepy.sh
dans /config/scripts/ et copier ceci dedans:
/usr/local/bin/python3 /config/python_scripts/pronote.py > /config/scripts/pronote.log 2>&1
Ensuite, dans configuration.yaml
, ajouter cette commande shell:
shell_command:
pronote_get_data_bash: bash /config/scripts/pronote.sh
Il ne reste plus qu’à créer une automatisation dans HA afin de lancer la commande shell toute les X minutes.
Ceci permet d’avoir le package en local et donc ne s’efface pas au redémarrage de l’instance. En revanche, si on veux mettre pronotepy à jour, il faut recommencer la manip’.
Sinon rien ne vous empêche d’installer le script pronotepy à chaque démarrage d’instance en plaçant l’adresse du script directement dans le init_commands
du plugin SSH & Web Terminal.
Petit HS:
Perso, je ne tourne plus sous HAOS mais en container sous Debian, le collège de ma fille, ne propose pas les devoirs dans Pronote mais sont pour ma part sur l’ENT. Donc, il m’a fallut trouver un autre moyen de les récupérer.
C’est là, que j’ai eu l’idée d’intégrer un navigateur/scrapper autonome à HA (Taiko en l’occurrence.)
J’avais réussi à l’intégrer à HAOS (install de node.js + taiko) mais malgré beaucoup de divers tentatives, je n’arrivais pas à lancer le navigateur Chromium dessus (problème d’écran hôte inaccessible). Donc impossibilité de lancer Taiko.
Depuis, je suis passé sous Debian et là, plus de problèmes, Taiko me permet de scrapper à peu près tout ce que je veux avec une grande facilité mais aussi de « cliquer » sur n’importe quel lien à ma place, même derrière un login/mot de passe.
Je continue de me servir de pronotepy en parallèle parce qu’il est très bien fait mais si un jour il est down, je pourrais continuer à recevoir les informations de Pronote avec Taiko.
Fin du HS.
J’avais expliquer un peu plus haut comment j’avais procéder pour récupérer non pas toutes les nouvelles notes mais les deux dernières si celles-ci arrivait en même temps. J’ai créer deux sensors, un pour la dernière note et un pour l’avant dernière. Je les stock chacun ensuite dans un input
.
Dans mon automatisation, je compare la dernière note reçu avec l’avant dernière note ‹ stockée ›. Si elle correspond, c’est qu’il n’y à qu’une seule nouvelle note et j’affiche donc la dernière, sinon, si elles ne correspondent pas, c’est qu’il y en à eu plusieurs et à ce moment là, j’affiche les deux dernières dans la notification. Cela fonctionne dans la majorité des cas. Cela ne fonctionne pas si la note est intercalée plus loin.
Il existe une autre possibilité que je n’ai pas eu le temps de mettre en place, c’est de récupérer le nombre de note par trimestre avec pronotepy, ce qui créer un compteur dans HA qui s’incrémente à chaque nouvelle note reçue. Donc si le compteur s’incrémente de X notes, alors afficher X dernières notes dans la notif.
Donc, je ne suis plus sous HA OS mais ai beaucoup travaillé dessus donc je pourrais quand même vous aider si vous avez besoin.
Bonne journée à tous!
Bonjour,
Tu as cette erreur parce que pronotepy n’est pas encore installé. Dans mon explication, il est considéré que oui.
Il faut lancer la commande suivante:
pip3 install https://github.com/bain3/pronotepy/archive/refs/heads/master.zip
Ensuite, tu pourras copier le package avec cp
.
bon j’ai trouvé j’ai puthon 10
alrs la tu dis ca
Citation Créer le fichier
pronotepy.sh
dans /config/scripts/ et copier ceci dedans:
tu parle du dossier script.ymal ou le dosiier crée pour pronote python-script?
@titof2375
Oui OK, il faut reprendre au tout début alors. Tu as l’explication pour l’install sur HASSIO plus haut dans le fil.
Je te la remet quand même ici.
Il faut d’abord copier ces quelques lignes dans le init_commands
du plugin SSH & Web Terminal:
init_commands:
- apk add build-base
- apk add py3-wheel
Tu redémarres.
Attendre un peu que les packages s’installent. Tu peux suivre l’install dans le journal du plugin.
Ensuite la commande pip3 install
:
pip3 install https://github.com/bain3/pronotepy/archive/refs/heads/master.zip
Puis le cp
:
cp -R /usr/lib/python3.9/site-packages/pronotepy /config/python_scripts/local-packages/
La suite, dans mon post au dessus.
Cette manip fonctionne parfaitement sur RPI sous HASSIO.
Non, si tu ne l’as pas, créer un dossier ‹ scripts › dans ‹ config › puis tu crées un fichier pronotepy.sh
et tu y colles dedans:
/usr/local/bin/python3 /config/python_scripts/pronote.py > /config/scripts/pronote.log 2>&1
Bon ca fonctionne pas chez moi @sosordinet
Idée… on pourrais créer un package github et ajouter pronotepy comme ‹ requirements › (manifest) … comme un package pour HACS custom_components… le package installera pronotepy version xyz
@Dathosim je ne suis pas sûre si t’es intéressé de le faire