[Python] Scripts pour MyJDownloader, 4G Box, Pollens, Qualitée de l'air, Moustiques et Vigilance Meteo
Publié : 25 avr. 2019, 17:29
Apres plusieurs mois, j'ai décidé de me remettre à écrire quelques scripts et à moderniser ceux étant devenus obsolètes (cf https://www.easydomoticz.com/forum/viewtopic.php?t=1972).
Dans tous les scripts, la partie a configurer se trouve à la fin.
Pour l'installation, ils utilisent tous python3 et nécessitent la librairie requests (pip3 install requests)
Le script MyJDownloader nécessite aussi la lib pycrypto (pip3 install pycrypto) ainsi que le fichier myjdapi.py
Le scrpit de la 4G Box nécessite la lib huawei_lte_api (pip3 install huawei-lte-api)
Le premier permet de récupérer différentes données sur MyJDownloader (interface en ligne de JDownloader 2).
On peut récupérer les infos suivantes:
total a télécharger (gb) / total téléchargé (gb) / nombre de paquets / nombre de paquets activés / nombre de paquets téléchargés / nombre de paquets en erreur / nombre de paquets en attente / pourcentage de paquets en erreur / pourcentage de paquets téléchargés / statut de téléchargement / vitesse de téléchargement (en mb/s) / temps total avant fin des téléchargements (day h:min:sec) / nombre de paquets en cours de téléchargement / nom du téléchargement en cours / texte du rapport telechargé-à télécharger en gb / texte du rapport téléchargé-à télécharger en paquets
On remplace donc DOMOTICZIP par l'ip de domoticz,
MONIDJDOWNLOADER par l'id qu'on peut trouver dans l'url du service:
ex: https://my.jdownloader.org/?deviceId=MONIDJDOWNLOADER #webinterface:downloads
mon@mail.com par l'adresse mail avec laquelle on s'est inscrit et MONMOTDEPASSE
On configure ensuite les idxs des capteurs virtuels créés dans domoticz
ex: idxs = [12,13,16] si on a crée 3 capteurs avec les idxs 12 13 et 16
Puis on configure les données associées a ces capteurs d'apres la liste de dennées ci-dessus (en partant de 0):
ex: types = [9,10,13] feront correspondre l'idx 12 au statut de téléchargement, l'idx 13 à la vitesse de téléchargement et l'idx 16 au nom du téléchargement en cours
Voila, le fonctionnement est a peu pres le même pour les autres scripts:
Pour la qualité de l'air:
On remplace notre longitude et latitude (trouvable sur google maps par exemple) et cela calculera la station la plus proche
On replace les idxs et les données associées parmis celles de cette liste:
a_SO2, a_NO2, a_O3, a_PM10, CO, SO2, NO2, O3, PM10, PM25, j_CO, j_SO2, j_NO2, j_O3, j_PM10, j_PM25 avec a_ correspondant à l'indice ATMO et j_ à la moyenne journalière
ex: pour les idxs 11,12 et 13 correspondants à l'indice ATMO global, la quantitée de NO2 et l'indice ATMO des PM10, on a
idxs = [11,12,13] et polluants = ["a_INDICE","NO2","a_PM10"]
Pour les pollens:
On remplace notre département
Puis les idxs, et les pollens parmis ceux-cis (numeros en partant de 0):
General / Tilleul / Ambroisies / Olivier / Plantain / Noisetier / Aulne / Armoise / Chataigner / Urticacées / Oseille / Graminées / Chene / Platane / Bouleau / Charme / Peuplier / Frene / Saule / Cypres
ex: pour idxs 11 et 12 correspondant au niveau general et charme, on a
idxs = [11,12] et pollens = [0,15]
Pour la vigilance météo et crue:
On remplace le département, et les 2 idxs devant correspondre a des devices de type ALERTE, le premier etant la vigilance meteo et le second la vigilance crue
Pour les moustiques:
On remplace le département et les 2 idxs correspondant a des devices ALERT, le premier est pour les moustiques et le second pour les moustiques tigres (dans le script les idxs à remplacer sont 7655 et 7656)
Pour la 4G Box:
Dans boxAddr = 'http://UTILISATEUR:MOTDEPASSE@BOXIP/',
on remplace par l'utilisateur (admin) et le mot de passe de connexion à l'interface de la box, et l'IP de la box
On remplace ensuite les idxs et les valeurs qu'on souhaite obtenir parmi celles-cis (numeros en partant de 0): indicateur de reception(dBm) / force de réception (dBm) / qualitée de réception (dBm) / IP publique / Total Téléchargé pour le mois (gb) / Total Uploadé pour le mois (gb)
ex: pour les idxs 13 et 14 correspondants au total téléchargé et a l'IP publique,on a:
idxs = [13,14] et types = [4,3]
PS: Je parle ici de la 4G Box car c'est celle que j'ai, mais normalement cela deverait fonctionner avec tous les routeurs Huawei compatibles avec l'app HiLink.
Et voilà !
(J'ai mis tous les scripts en pièce jointe pour éviter que mon post ne prenne 10 pages)
Dans tous les scripts, la partie a configurer se trouve à la fin.
Pour l'installation, ils utilisent tous python3 et nécessitent la librairie requests (pip3 install requests)
Le script MyJDownloader nécessite aussi la lib pycrypto (pip3 install pycrypto) ainsi que le fichier myjdapi.py
Le scrpit de la 4G Box nécessite la lib huawei_lte_api (pip3 install huawei-lte-api)
Le premier permet de récupérer différentes données sur MyJDownloader (interface en ligne de JDownloader 2).
On peut récupérer les infos suivantes:
total a télécharger (gb) / total téléchargé (gb) / nombre de paquets / nombre de paquets activés / nombre de paquets téléchargés / nombre de paquets en erreur / nombre de paquets en attente / pourcentage de paquets en erreur / pourcentage de paquets téléchargés / statut de téléchargement / vitesse de téléchargement (en mb/s) / temps total avant fin des téléchargements (day h:min:sec) / nombre de paquets en cours de téléchargement / nom du téléchargement en cours / texte du rapport telechargé-à télécharger en gb / texte du rapport téléchargé-à télécharger en paquets
On remplace donc DOMOTICZIP par l'ip de domoticz,
MONIDJDOWNLOADER par l'id qu'on peut trouver dans l'url du service:
ex: https://my.jdownloader.org/?deviceId=MONIDJDOWNLOADER #webinterface:downloads
mon@mail.com par l'adresse mail avec laquelle on s'est inscrit et MONMOTDEPASSE
On configure ensuite les idxs des capteurs virtuels créés dans domoticz
ex: idxs = [12,13,16] si on a crée 3 capteurs avec les idxs 12 13 et 16
Puis on configure les données associées a ces capteurs d'apres la liste de dennées ci-dessus (en partant de 0):
ex: types = [9,10,13] feront correspondre l'idx 12 au statut de téléchargement, l'idx 13 à la vitesse de téléchargement et l'idx 16 au nom du téléchargement en cours
Voila, le fonctionnement est a peu pres le même pour les autres scripts:
Pour la qualité de l'air:
On remplace notre longitude et latitude (trouvable sur google maps par exemple) et cela calculera la station la plus proche
On replace les idxs et les données associées parmis celles de cette liste:
a_SO2, a_NO2, a_O3, a_PM10, CO, SO2, NO2, O3, PM10, PM25, j_CO, j_SO2, j_NO2, j_O3, j_PM10, j_PM25 avec a_ correspondant à l'indice ATMO et j_ à la moyenne journalière
ex: pour les idxs 11,12 et 13 correspondants à l'indice ATMO global, la quantitée de NO2 et l'indice ATMO des PM10, on a
idxs = [11,12,13] et polluants = ["a_INDICE","NO2","a_PM10"]
Pour les pollens:
On remplace notre département
Puis les idxs, et les pollens parmis ceux-cis (numeros en partant de 0):
General / Tilleul / Ambroisies / Olivier / Plantain / Noisetier / Aulne / Armoise / Chataigner / Urticacées / Oseille / Graminées / Chene / Platane / Bouleau / Charme / Peuplier / Frene / Saule / Cypres
ex: pour idxs 11 et 12 correspondant au niveau general et charme, on a
idxs = [11,12] et pollens = [0,15]
Pour la vigilance météo et crue:
On remplace le département, et les 2 idxs devant correspondre a des devices de type ALERTE, le premier etant la vigilance meteo et le second la vigilance crue
Pour les moustiques:
On remplace le département et les 2 idxs correspondant a des devices ALERT, le premier est pour les moustiques et le second pour les moustiques tigres (dans le script les idxs à remplacer sont 7655 et 7656)
Pour la 4G Box:
Dans boxAddr = 'http://UTILISATEUR:MOTDEPASSE@BOXIP/',
on remplace par l'utilisateur (admin) et le mot de passe de connexion à l'interface de la box, et l'IP de la box
On remplace ensuite les idxs et les valeurs qu'on souhaite obtenir parmi celles-cis (numeros en partant de 0): indicateur de reception(dBm) / force de réception (dBm) / qualitée de réception (dBm) / IP publique / Total Téléchargé pour le mois (gb) / Total Uploadé pour le mois (gb)
ex: pour les idxs 13 et 14 correspondants au total téléchargé et a l'IP publique,on a:
idxs = [13,14] et types = [4,3]
PS: Je parle ici de la 4G Box car c'est celle que j'ai, mais normalement cela deverait fonctionner avec tous les routeurs Huawei compatibles avec l'app HiLink.
Et voilà !
(J'ai mis tous les scripts en pièce jointe pour éviter que mon post ne prenne 10 pages)