Utilisez speedtest via docker et MQTT

Bonjour,

Un petit tuto pour mettre en place speedtest via docker et mqtt (jmqtt).
Avant toute remarque : OUI, vous pouvez utiliser le plugin speedtest. Ce tuto fera EXACTEMENT la même chose
Cette démarche vise juste à centraliser toute ma domotique autour de docker et du protocole MQTT. de manière à diminuer l’adhérence de Jeedom avec les plugins et de diminuer les pbs de migration

De mon coté, j’utilise portainer dans lequel j’ai mis en place une stack qui gère les installs de mosquitto, zigbee2mqtt, vlx2mqtt, speedtest, teslamate.
Mais ca peut aussi etre fait via docker2 sans pb.

Pour speedtest, il convient d’utiliser le docker-compose suivant :

  speedtest:
    image: moafrancky/speedtest2mqtt:latest
    container_name: speedtest2mqtt
    environment:
      - MQTT_HOST=<@IP du serveur MQTT>
      - MQTT_TOPIC=speedtest
      - MQTT_USER=<username>
      - MQTT_PASS=<mot de passe>
      - CRON=12 * * * *
    restart: unless-stopped

Puis d’importer le template jmqtt suivant (je laisse @bad l’integrer en standard dans plugin-jmqtt

Speedtest.json.txt (13,1 Ko)

Le topoic à utiliser est

speedtest/#

Et le résultat :

image

Norbert

5 « J'aime »

Salut Norbert

Pour l’ip mosquitto, tu donnes le port avec?

Antoine

Non, juste l’IP. Je pense que le port est codé en dur

Norbert

Ok, je n’ai aucune remonté du speedtest, je ne vois rien dans mqttexplorer et je trouve pas mon erreur.

version: "3"
services:
  speedtest:
    image: moafrancky/speedtest2mqtt:latest
    container_name: speedtest2mqtt
    environment:
      - MQTT_HOST=192.168.x.x
      - MQTT_TOPIC=speedtest
      - MQTT_USER=user
      - MQTT_PASS=motdepasse
      - CRON=12 * * * *
    restart: unless-stopped

Tu as bien attendu la 12 min de chaque heure pour verifier ?
(crom 12 * * * * )
user et pwd son OK ?

Cela ne fait rien au lancement ?

Nop !
Mets * * * * * pour tester

Tu peux aussi verifier les logs du docker !

Je vais rebooter. Je teste portainer pour l’occasion et le comportement est étrange. J’ai modifier le cron pour un 1 min mais le log après pull sous portainer indique toujours 12.

Antoine

Lorsque je fait une modif dans un fichier de conf, je recrée le docker et ca prend en compte le snouveaux paramétrages :

Je ne suis pas un expert, donc il y a peut-etre d’autres solutions, mais celle là fonctionne

Norbert

Fait mais sans effet, même avec un reboot de la VM. Au final, j’ai fait un remove et lancer en ssh le docker compose. Y’a bien 1 min maintenant, mais toujours rien.

Après au moins 3 min

speedtest2mqtt has been started 
starting cron (1 * * * *)

1 * * * * signifie à 21:01, 22:01, 23:01
Si tu veux toutes les minutes, c’ext * * * * *

1 « J'aime »

C’est tout bon maintenant, merci.

Ne reste pas trop longtemps en * * * * *, je me suis fait (temporairement) banir des serveurs speedtest pendant mes tests car trop de requetes

Norbert

J’ai remis au cron de ton fichier docker compose de suite.

Antoine

1 « J'aime »