Aller au contenu principal
Speedtest

Speedtest

Mesurez et surveillez les performances de votre connexion internet directement depuis Jeedom.

Jeedom 4.4+stableos 11+php 7.4/8.xpython

📋 Présentation

Le plugin Speedtest permet de lancer des tests de débit internet depuis votre box Jeedom et d'en historiser les résultats. Il mesure le download, l'upload, le ping, le jitter et la perte de paquets, puis calcule un score global et une notation par usage (streaming, gaming, visio, navigation).

Il s'appuie sur l'outil speedtest-cli installé dans un environnement Python virtuel (venv).


✨ Fonctionnalités

  • Mesure du download et de l'upload en Mbit/s
  • Mesure du ping (latence) en ms
  • Mesure du jitter (variation de latence) en ms
  • Mesure de la perte de paquets en %
  • Score global sur 10, pondéré (download 40%, upload 20%, ping 20%, jitter 10%, perte 10%)
  • Notation par usage : web, streaming (SD/HD/4K), gaming, visioconference
  • Identification du serveur de test et du FAI
  • Widget custom avec jauge SVG animee, barre d'upload, cercle de score et tuiles de metriques
  • Planification via cron configurable
  • Choix du serveur de test (automatique ou manuel par ID)
  • Surveillance IP : alerte en cas de changement d'adresse IP publique

⚙️ Prerequis

  • Jeedom 4.4 minimum
  • Une connexion internet fonctionnelle
  • Les dependances du plugin installees (Python 3, speedtest-cli dans un venv)

📥 Installation

  1. Installez le plugin depuis le Market Jeedom ou via GitHub
  2. Activez le plugin
  3. Allez dans Plugins > Gestion des plugins > Speedtest
  4. Cliquez sur Installer les dependances et attendez la fin
  5. Verifiez que le statut des dependances passe a OK

🔧 Configuration du plugin

Dans la page de configuration du plugin (Plugins > Gestion des plugins > Speedtest > Configuration) :

OptionDescription
Check adresse IPActive la surveillance horaire de votre IP publique. Si l'IP change, une alerte est generee dans les logs
Adresse IPAffiche l'IP publique detectee (rempli automatiquement)

🖥️ Configuration d'un equipement

Depuis Plugins > Monitoring > Speedtest, cliquez sur Ajouter pour creer un equipement, puis configurez-le :

Onglet Equipement

Options standard Jeedom : nom, objet parent, categorie, activer, visible.

Onglet Configuration

OptionDescription
Activer CronActive la planification automatique des tests
Frequence de rafraichissementExpression cron pour la frequence (ex: 0 */4 * * * pour toutes les 4 heures). Cliquez sur ? pour utiliser l'assistant cron
Id serveur (optionnel)Identifiant du serveur de test speedtest.net. Laisser vide pour une selection automatique du meilleur serveur
Echelle max Download (Mbit/s)Valeur maximale de la jauge download sur le widget (defaut : 1000)
Echelle max Upload (Mbit/s)Valeur maximale de la barre upload sur le widget (defaut : 500)
astuce

Adaptez les echelles max a votre abonnement internet pour que les jauges du widget soient lisibles. Par exemple, pour une connexion fibre 1 Gbit/s, laissez 1000. Pour une connexion ADSL, mettez 30.


📡 Les commandes

Les commandes sont creees automatiquement lors de la sauvegarde de l'equipement :

Commandes info numeriques

CommandeUniteDescription
DownloadMbit/sDebit descendant
UploadMbit/sDebit montant
PingmsLatence reseau
JittermsVariation de la latence (stabilite)
Perte de paquets%Pourcentage de paquets perdus
Score/10Note globale ponderee de la connexion

Commandes info texte

CommandeDescription
ServeurNom et sponsor du serveur de test utilise
FAIFournisseur d'acces internet detecte
Notation usageEvaluation par type d'usage (web, streaming, gaming, visio)

Commande info binaire

CommandeDescription
Etat1 = test reussi, 0 = test en echec

Commande action

CommandeDescription
RafraichirLance un test de debit manuellement
info

Toutes les commandes numeriques peuvent etre historisees pour suivre l'evolution de votre connexion dans le temps. Activez l'historisation dans l'onglet Commandes de l'equipement.


🎨 Le widget

Widget Speedtest

Le plugin dispose d'un widget custom avec :

  • Une jauge demi-cercle animee pour le download (bleue)
  • Une barre de progression pour l'upload (verte)
  • Un cercle de score /10 (vert)
  • Un badge d'etat (OK / Erreur)
  • Trois tuiles pour le ping, le jitter et la perte de paquets
  • Un bouton rafraichir pour lancer un test a la demande

Les echelles des jauges (download et upload) sont configurables dans l'onglet Configuration de l'equipement pour s'adapter a votre type de connexion.


🏆 Comprendre le score

Le score global est calcule sur 10 en ponderant les metriques :

MetriquePoidsExcellentBonMoyen
Download40%> 100 Mbit/s> 25 Mbit/s> 10 Mbit/s
Upload20%> 50 Mbit/s> 20 Mbit/s> 10 Mbit/s
Ping20%< 10 ms< 20 ms< 50 ms
Jitter10%< 2 ms< 5 ms< 10 ms
Perte paquets10%0%< 1%< 3%

📊 Comprendre la notation d'usage

La commande Notation usage evalue votre connexion pour differents cas d'utilisation :

UsageExcellentBonInsuffisant
WebDL > 5 Mbit/s + Ping < 100 msDL > 1 Mbit/sDL < 1 Mbit/s
StreamingDL > 25 Mbit/s (4K)DL > 10 Mbit/s (HD)DL < 3 Mbit/s
GamingDL > 10 + Ping < 20 msDL > 5 + Ping < 50 msPing > 100 ms
VisioUL > 3 + DL > 5 + Ping < 50 msUL > 1 + DL > 2Sinon

💡 Utilisation dans Jeedom

Les commandes du plugin peuvent etre utilisees dans :

  • Les scenarios : declencher des actions si le debit descend sous un seuil, ou si le score passe sous 5/10
  • Le dashboard : affichage du widget avec toutes les metriques
  • Les alertes : notification en cas de degradation de la connexion
  • L'historique : suivi de l'evolution des performances dans le temps

Exemple de scenario

Si la commande Score < 3, alors envoyer un message "Connexion internet degradee (score: #[Salon][Speedtest][Score]#/10)"


🛠️ Resolution des problemes

Les dependances ne s'installent pas

  • Verifiez que votre box Jeedom a acces a internet
  • Consultez le log speedtest_update dans Analyse > Logs
  • Verifiez que Python 3.8+ est disponible sur votre systeme

Le test echoue (etat = 0)

  • Verifiez votre connexion internet
  • Consultez le log speedtest en mode debug pour voir la sortie brute
  • Si vous avez specifie un ID serveur, essayez en le laissant vide (selection automatique)

Les valeurs semblent incorrectes

  • Le jitter et la perte de paquets sont mesures via ping sur le serveur de test. Un pare-feu qui bloque le ping peut fausser ces valeurs
  • Le download et l'upload sont en Mbit/s (megabits par seconde), pas en Mo/s

Le widget ne s'affiche pas correctement

  • Verifiez que votre Jeedom est en version 4.4 minimum
  • Videz le cache du navigateur (Ctrl+Shift+R)
  • Sauvegardez l'equipement pour recreer les commandes