Script gestion présence téléphone

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.

Plus de nouvelles depuis 2017 :wink:

Je vous conseille de passer sur le plugin phone détection.

Bonjour,

ou si c’est juste pour faire une requete arp, le plugin-networks le fait également.

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)

Non on ne va pas maintenir un script qui a 10 ans pour faire ca,
utilisez plugin-networks, lui est maintenu et fait la même chose

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?

Non, il faut passer sur plugin-tgw et plugin-mqttdiscovery