Ajout d'un cron externe

Bonjour,
J’ai un petit script python pour trouver des créneaux de libre sur Doctolib et m’envoyer un SMS (via la freebox) aussitôt qu’il y en a un. Je dois pour cela le lancer régulièrement (tous les 5mins par exemple).
C’est complètement indépendant de jeedom.
Comme la box luna est allumée en permanence, j’aimerai utiliser la plateforme pour exécuter mon script régulièrement.

Je pensais utiliser cron.
Mais cron semble bloqué par jeedom (cron -l m’indique qu’il y a un lock sur crond.pid).
crontab -l m’indique qu’il n’y aucun cron pour root

Du coup, est-ce que je peux utiliser crontab -e pour ajouter ma ligne de lancement du script ?
Est-ce que cela ne va pas rentrer en conflit avec jeedom ?

Ou est-ce que je peux passer par jeedom Réglage / Système / Moteur de taches pour cela ?

Je viens de voir la doc pour cette page cron (moteur de taches), pour utiliser le cron jeedom, il faut du php et non du python :frowning:

Reste la programmation à la main, via crontab si c’est sur et qu’il n’y a pas de risque avec jeedom à coté

Je viens de trouver qu’il y avait un plugin script qui permet de… lancer des scripts externes en python :slight_smile:
Du coup, je dois pouvoir récupérer une valeur j’imagine qui doit permettre de déclencher un scénario d’envoi de SMS…
Comme ca pas de cron externe, mais intégration dans jeedom proprement !
Je vais creuser ce plugin.

1 « J'aime »

Pas besoin de déclencheur ni de scenario, juste configurer une auto-actualisation sur l’équipement :wink:

1 « J'aime »

Salut,

Effectivement le plugin script semble le plus adapté pour ton cas.
Comme le dit la doc, c’est pas réservé non plus au python :slight_smile:

Je viens d’effectuer les 1er essais avec le plugin script, pas facile à apprivoiser la bête…

Déjà il faut renommer les scripts en .PY et ajouter un shebang python3 pour éviter qu’il ne lance ‹ python › qui n’existe pas au lieu de python 3.

Maintenant comment remplir une variable avec ce script ?
Je pensais que la valeur de retour était stockée dans une donnée utilisable par jeedom, mais si je place sys.exit(1) dans mon script, j’ai une erreur en rouge qui s’affiche et en plus ca ne change pas l’affichage dans mon dashboard…
Je vais chercher sur le forum.

J’ai trouvé, il suffit d’effectuer une sortie console: print(0)

Je suis preneur du script pour Doctolib :slight_smile:

Il est pas prêt !
J’ai un script qui fait tout: recherche de créneaux, vérif si plus récent, envoi de SMS.
La, il faut que j’extrais la partie recherche et vérif et que je sorte sur la console les résultats: une valeur binaire pour indiquer s’il y a du neuf (et déclencher un SMS via le plugin FreeSMS ou autre action) et la date du prochain créneau de libre.
En attendant, ca peut peut être déjà en partie fonctionner avec le plugin script car j’interroge le site et il me renvoi du json:
https://www.doctolib.fr/availabilities.json?visit_motive_ids=7891980&agenda_ids=1166639&practice_ids=403066&telehealth=false&limit=5&start_date=2025-01-19
La date est à changer.
S’il y a un créneau de libre, il renvoi 5 slots s’il y en a prochainement, sinon il renvoi next_slot pour le prochain slot à long terme et sinon… ya rien de dispo!
Dès qu’il y a un créneau qui se libère (désistement), ces champs se remplissent.

1 « J'aime »

Salut vicnet, je reviens sur cette idée de script doctolib : où as tu trouvé les trois différents id qui composent l’URL ? J’ai fouillé un peu Google et ce dépôt GitHub mais je n’arrive pas à les retrouver. Je suis bloqué à la page www.doctolib.fr/« url-du-medecin ».json, qui m’affiche alors bien son id , mais ensuite www.doctolib.fr/booking/« id ».json affiche une page vide :frowning: