Bonjour, suite à mon passage de Debian 10 à Debian 12 j’ai 1 script qui gère la présence par rapport au téléphone qui ne fonctionne plus.
Log
Erreur sur sudo chmod +x /var/www/html/plugins/script/data/arp-scan_jeedom.py 2>/dev/null;python /var/www/html/plugins/script/data/arp-scan_jeedom.py 2>&1 valeur retournée : 1. Détails : Traceback (most recent call last):
File "/var/www/html/plugins/script/data/arp-scan_jeedom.py", line 7, in
import commands
ModuleNotFoundError: No module named 'commands'
C’est un script d’un tuto KZ ENJOY gérer la présence grâce au téléphone.
J’ai tapé en SSH « sudo chmod u+x /var/www/html/plugins/script/data/arp-scan_jeedom.py », mais c’est pareil. Après je n’y connais rien.
Bonjour Fabrice, Ou j’avais vu son site n’est plus disponible j’avais fait une copie en pdf ainsi que son script de son tuto ci-joint, n’empêche il était fonctionnel jusqu’à maintenant. y a pas moyen de l’adapter? Merci pour votre réponse Gérer la présence grâce à son téléphone. - KZ Enjoy.pdf (664,8 Ko)
Ainsi que le script de base
#!/usr/bin/python
# -*- coding: utf-8 -*-
# IMPORTS
import urllib
import time
import commands
# FONCTIONS
def maj_status(id): # Fonction qui sera appelée pour mettre à jour le status. On lui donne l'id a mettre à jour
# On instancie une variable pour reexecuter l'url en cas d'echec
retry = 0
# On execute l'url de l'API avec l'id envoye et on reessaye 3 fois tant que le code retourné n'est pas 200 (OK en HTTP)
while urllib.urlopen("http://IP jeedom/core/api/jeeApi.php?apikey=api jeedom&type=cmd&id="+id).getcode() != 200 and retry <= 2:
time.sleep(2)
retry += 1
# MAIN
# On definit la liste qui va inclure les equipements a tester. Ici 2 téléphones en indiquant l'adresse MAC de chacun (l'ip ne me sert pas pour le moment). Ainsi que les id jeedom.
liste={}
liste["Michel"]={"ip":"adresseip","mac":"adresse mac","present":"959","absent":"960"} # Adapter avec vos ID/MAC/IP
liste["Cristine"]={"ip":"adresse ip","mac":"adresse mac","present":"4085","absent":"4086"} # Adapter avec vos ID/MAC/IP
# On fait une boucle pour chaque entrée de la liste
for prenom,info in liste.items():
# On exécute la commande arp-scan
# On grep sur la MAC pour voir si on a un résultat et on compte (wc -l) le nombre de ligne (si 1 ligne alors il y a bien une entrée et on mets le status à jour avec l'id présent, sinon on mets à jour avec l'id absent).
# On exécute la fonction de mise à jour du status
result= commands.getoutput("sudo arp-scan -l -g -T " + info["mac"] + " -t 800 | grep -i " + info["mac"] + " | wc -l")
if result == '1':
maj_status(info["present"])
time.sleep(3)
else:
maj_status(info["absent"])
time.sleep(3)
Bonjour Mips, OK merci pour votre réponse je comprends. Mais du coup je me pose la question car le plugin BLEA, ou je gère uniquement des NUT, ne fonctionne pas non plus sur Debian 12 est-ce que le plugin-networks fais cela également?