Pronote dans HA - les notes, devoirs, absences et emploi du temps des enfants

Bravo ! je suis content que ça fonctionne chez d’autres !

Je bloque de mon coté sur un début de script qui permettrait d’avoir un seul script pour plusieurs enfants.
Une sorte de tableau de variable (ou liste de liste) et bouclé dans ce tableau tant que y’a des enfants déclaré en haut du script

confs[0] = {eleve: "demo", prefix_url : "demo", username: "demonstration", password: "pronotevs"}
confs[1] = {eleve: "demo2", prefix_url : "demo2", username: "autrelogin", password: "autrepass"}
for conf in confs
# et mettre ici tout le reste du code pour que ça boucle...

Mais je bloque je voudrais faire faire un tableau de liste…une idée ?

Bonjour,

Un grand merci pour ce travail ! J’en rêvais, tu l’as fait, merci !
Par contre, il me manque apparemment aussi le module pronotepy.
Le problème, c’est que je n’ai pas d’accès ssh pour l’installer.
Une méthode pour le faire depuis le terminal intégré à Home Assistant OS ? (pip install et pip3 install ne fonctionnent pas)
Merci d’avance.

Il faut installer terminal ssh en addon

ça, c’est fait, je voudrais juste connaitre la commande pour installer pronotepy, dans ce module, car pip et pip3 me retourne un " command not found" ?
Merci d’avance.

Au temps pour moi, j’utilisais le vieux « terminal & ssh ». Avec « ssh & web terminal », cela fonctionne.
Enfin… cela fonctionne pour installer « pronotepy », mais j’ai toujours l’erreur « ImportError: import not found » (comme @Plouf34 )

1 « J'aime »

Tu as de la chance; moi, impossible d’installer pronotepy par pip3 install pronotepy. Il bloque a une etape du processus d’install. Pourtant, j’ai une install plus que conventionnel d’HA: version HA supervised sur OdroidN2+ fourni par Ameridroid.

J’ai eu le même problème.
Après avoir cherché, j’ai trouvé qu’il fallait ajouter ceci à la configuration de SSH & Web Terminal :

init_commands:
  - apk add build-base
  - apk add py3-wheel
  - python3 -m pip install catt

J’ai relancé la commande et c’est passé. (mais bon pour pas grand chose, vu que cela bloque encore…)

Ouais; bon, bah avant de toucher a l’install de Python, je vais attendre que le process d’install soit un peu plus safe.

1 « J'aime »

Merci pour cette réponse rapide et encourageante …

« il suffit juste de savoir se connecter en ligne de commande sur le serveur en SSH. »
Ca je sais faire avec l’addon SSH & web terminal

« Installer le script c’est le poser au bon endroit »
Ca je ne sais pas faire, il me faudrait un exemple de commande (pip install???). D’ailleurs je vois que je ne suis pas le seul a bloquer la dessus. Comme Plouf34, j’ai aussi un HA supervised sur OdroidN2+. tashio pourrait peut-être nous donner la commande qu’il a utilisée. Avec HA supervised il suffit peut-etre de copier le fichier dans config / custom components

« adapter le chemin du fichier json qu’il génère. »
OK , donc si j’ai bien compris, ce sera /config/www/

Merci d’avance pour vos conseils.

Je n exécute pas de script sur mon home assistant, j ai une installation avec hass os (l image VM). Du coup a chaque reboot de l os il faut réinstaller, donc j ai une VM en Ubuntu 20.04 sur lequel j exécute des scripts divers et variés. Le principe est le même sauf que j envoie le json a mon home assistant.

Du coup c est plus simple

Après normalement dans le ssh on doit taper
Apk add --no-cache pyrhon3
Apk add --update py-pip
Python3 -m pip install pronotepy
Si erreur GCC
Apk add GCC
Mais après je suis pas aller plus loin

Merci à tous pour vos retours (@Plouf34 / @taschio @Elekrea @Lepelot )

En fait, je voulais juste rappeler que ce script pronote.py (qui génère le json) n’est pas fait (encore à ce jour) pour tourner « dans » HA.
Le seuls pour qui ça peut fonctionner rapidement sont ceux qui ont un linux indépendant (VM à part) ou une VM Hôte qui héberge des docker (dans le cas d’une installation de HA en docker)
(et on voit que ça marche pour @taschio qui a une VM a part et pour moi qui ait une VM hôte avec HA en docker)

Mais si vous tentez de faire tourner de faire ça DANS HA ça peut être compliqué.
Car Python n’est pas forcement installé dans les SSH en Addons (« Terminal & SSH » ou « SSH et Web Terminal »)
Et ensuite il faut installer pip3 pour pouvoir installer la lib pronotepy sur laquelle s’appuie le script.
Et ça semble être assez complexe…mais je ne peux pas vraiment vous aider la dessus

Ah, OK, je comprends mieux maintenant. A l’évidence je ne serai pas prêt pour impressionner mon petit fils Mercredi!! Ceci dit, j’ai une autre installation sur une VM dans ma Freebox delta, je vais peut-être faire une tentative là dessus.

Merci à tous.

Effectivement, je confirme, le script à ce jour n’est pas encore fait pour tourner dans un HA de type Hass OS. (enfin, avec mes connaissances actuelles.)
Si j’ai bien compris (je mets du conditionnel car je suis encore un peu « noob »), cela pourrait se faire, mais pas sous cette forme.
En effet, il est possible d’installer « pip » dans l’addon « ssh & web terminal » (en modifiant la partie onglet « configuration ») qui permet par la suite d’installer les librairies Python nécessaires au script, à savoir : « pronotepy ». Cependant, je ne suis pas sûr que celles-ci restent après une mise à jour de l’host (voir même un redémarrage)
De toute façon, il ne me semble pas non plus que le « Python script » de HA permette les commandes « import » de Python. (celle qui permet d’importer entre autre "pronotepy, justement)
Donc, la solution la plus simple en effet, serait de faire tourner le script sur une VM. (je n’ai malheureusement rien pour en faire tourner une… :smiling_face_with_tear:)
Peut être pourrait-on faire quelque chose avec l’addon « AppDaemon », mais je ne sais pas du tout comment ça marche ?
Si des fois des gens plus « calés » avec tout ça avaient la bonne idée de regarder, ce serait top, mais en attendant, ben chez nous, ça ne marchera pas.
En tout cas, merci encore d’avoir partagé ceci, ça aurait été génial d’avoir Pronote dans HA. (et qui sait, peut être quelqu’un trouvera une méthode de contournement de ces « restrictions » ?)

2 « J'aime »

Bien résumé @Elekrea
Après y’a encore 2 pistes à explorer : Intégration pyscript qui prétend pouvoir supporter tous les import (mais encore faut-il arriver à importer la lib de façon pérenne)
Ou alors développer sa propre intégration ! je suis certains que les intégrations Custom font des imports de lib python
Mais si un expert veut bien nous donner son avis…?

J’ai testé pyscript aussi, sans arriver à mieux.
Un expert ! un expert ! un expert ! :grin:

1 « J'aime »

Bonjour,
Je vous fait partager ma solution.
Il suffit, après avoir installé le script en SSH, de lancer la commande pour l’exécuter.

python3 /config/python_scripts/pronote.py

Ca fonctionne parfaitement sur HASSIO, le JSON est bien crée dans le dossier WWW.
Bonne journée!

1 « J'aime »

Super !
Effectivement, ça a l’air de lancer le script.

Néanmoins, une fois le script lancé, j’ai cette erreur :

Une idée ?

Merci d’avance

1 « J'aime »

C’est bon, j’ai trouvé, j’avais oublié ça :

#Connection à Pronote
client = pronotepy.ParentClient('https://'+prefix_url+'.index-education.net/pronote/parent.html?login=true', username, password)

#Si on est bien connecté
if client.logged_in:
    client.set_child('Nom + Prénom de l élève')
1 « J'aime »

Merci pour se tuto, ca fait a peu prés un mois que je me suis lancé sur homeassistant, j’ ai installé toute la partie démo, le fichier json se crée bien dans www, mais je ne comprends pas je ne vois pas les capteurs Pronote malgré avoir copier les lignes dans configuration.yaml.
Le capteur sensor.rest se lance au démarrage.
Je passe par duckdns, du coup faut-il encore laisser /local/.

resource: https://*******.duckdns.org:8123//pronote_edt_demo.json

Merci