Intégrer Speedtest CLI Officielle à Home Assistant

Il faut redémarrer HA, pour la prise en compte des changements.
Bien vérifier la configuration avant de redémarrer.

Bonsoir,

Auriez vous une idée sur le fait que j’ai des résultats plutôt faible avec cette intégration :

image

Alors que sur cette machine j’arrive à atteindre pas loin des limites de la carte réseau en lançant l’application avec le même serveur orange Lyon ? :


:crazy_face:

J’ai peut être une piste, il ne prends pas en compte le serveur le plus rapide sur Paris me concernant alors que je l’ai bien indiqué dans ma config :

command_line:
  - sensor:
      name: "SpeedTest CLI Data"
      unique_id: speedtest_cli_data
      command: "/config/3rdparty/speedtest/speedtest -s 47424 --format=json --accept-license --accept-gdpr"
      #Toutes les 4 heures, 60 * 60 * 4 = 14400  3600 = 1 heure
      scan_interval: 3600
      command_timeout: 60
      value_template: >-
        {{ 
          { 
            "ping": value_json.ping.latency, 
            "download": value_json.download.bandwidth, 
            "upload": value_json.upload.bandwidth 
          }
          | to_json 
        }}

Bonjour,
aucun soucis de mon côté. Ca arrive que des serveurs , ne fonctionne pas tout le temps. Essayer un autre server. Tu as tester ce serveur > Orange paris id: 62493
image

command_line:
  - sensor:
      name: 'SpeedTest CLI Data'
      unique_id: speedtest_cli_data
      command: "/config/3rdparty/speedtest/speedtest -s 61301 --format=json --accept-license --accept-gdpr"
      scan_interval: 21600
      command_timeout: 60
      value_template: >-
        {{
          {
            "ping": value_json.ping.latency,
            "download": value_json.download.bandwidth,
            "upload": value_json.upload.bandwidth,
            "isp": value_json.isp,
            "location": value_json.server.location,
            "server_name": value_json.server.name
          }
          | to_json
        }}

J’en ai déjà essayé plusieurs dans la config Yaml mais ils ne sont pas pris en compte quand je fais des tests via le terminal…

Pour exemple j’ai copié ton code complet avec le serveur de Marseille dans ma config yaml et il continue de faire des tests à Lyon…
image

La config Yaml n’est pas prise en compte pour les tests via le terminal peut être ?

Oui, ta configuration en YAML, n’a rien avoir avec le terminal.
Dans le terminal, tu dois taper la commande ./speedtest -s ID.

image

./speedtest -L pour avoir la liste des serveurs le plus proche de chez toi.

Effectivement en vérifiant via les infos CLI_data le serveur configuré dans ma config yaml est bien pris en compte :

SpeedTest CLI Data
{« ping »:17.391,« download »:9642054,« upload »:27122889,« isp »:« Free SAS »,« location »:« Vélizy »,« server_name »:« BOUYGUES TELECOM CUBIC »}

C’est celui ci le plus rapide mais je continue d’avoir une grosse différence de résultats, à peine 100mb/s via cette intégration speedtest HA alors qu’en dehors je suis pas loin du giga :upside_down_face:

Pareil via le terminal avec ton code merci :

image

Mon HA est sur une virtualbox sur un nuc puissant donc je ne pense pas que ce soit les limite du nuc mais peut être ma machine virtuelle, je vais chercher…

Bon c’est bien ma machine virtuelle qui bride ma connection, d’autre personne sont sous machine virtuelle svp pour connaitre vos débits et configs ?
Merci :wink:

Merci ça marche nickel.

Puis qu’à attendre mon répéteur wifi pour avoir de meilleures performances.

1 « J'aime »

Bonjour,

Je modifie ma config, j’ai créé un sensors.yaml inseré le code

# Capteur de test de vitesse
- platform: command_line
  name: "SpeedTest CLI Data"
  unique_id: speedtest_cli_data
  command: "/config/3rdparty/speedtest/speedtest --format=json --accept-license --accept-gdpr"
  scan_interval: 14400  # 4 heures
  command_timeout: 60
  value_template: >-
    {{ 
      { 
        "ping": value_json.ping.latency, 
        "download": value_json.download.bandwidth, 
        "upload": value_json.upload.bandwidth 
      }
      | to_json 
    }}

# Capteurs de template
- platform: template
  sensors:
    speedtest_cli_ping:
      friendly_name: 'SpeedTest CLI Ping'
      unique_id: speedtest_cli_ping
      unit_of_measurement: ms
      value_template: "{{ (states('sensor.speedtest_cli_data') | from_json).ping | round(2) }}"

    speedtest_cli_download:
      friendly_name: 'SpeedTest CLI Download'
      unique_id: speedtest_cli_download
      unit_of_measurement: Mbit/s
      value_template: "{{ ((states('sensor.speedtest_cli_data') | from_json).download * 8 / 1000 / 1000) | round(2) }}"

    speedtest_cli_upload:
      friendly_name: 'SpeedTest CLI Upload'
      unique_id: speedtest_cli_upload
      unit_of_measurement: Mbit/s
      value_template: "{{ ((states('sensor.speedtest_cli_data') | from_json).upload * 8 / 1000 / 1000) | round(2) }}"
et la, ca fonctionne pas. 

Puis je avoir de l'aide?

Qu’est-ce qui ne fonctionne pas ? Des messages d’erreurs ? Des informations dans les logs ?

pas de messages d’erreur juste pas les capteurs.

hors quand dans configuration.yaml pas de soucis.

As-tu redémarré HA après avoir ajouté ta configuration ?

Les quatre capteurs sont manquants ?

oui pour les 2 questions

Montre nous où tu as ajouté ce code dans configuration.yaml.

Est-ce que le fichier est bien là, répertoire existant bien sûr !
Avec au moins ces fichiers ?
image

As-tu suivi la procédure ?

Bonjour,
il y a une différence , entre ce que j’ai mis dans mon tuto et ton code:

- platform: command_line n’existe plus, ça à changer depuis un bon moment.

Une petite lecture de la doc:

1 « J'aime »
# Capteur de test de vitesse
command_line:
      name: "SpeedTest CLI Data"
      unique_id: speedtest_cli_data
      command: "/config/3rdparty/speedtest/speedtest --format=json --accept-license --accept-gdpr"
      #Toutes les 4 heures, 60 * 60 * 4 = 14400  3600 = 1 heure
      scan_interval: 3600
      command_timeout: 60
      value_template: >-
        {{ 
          { 
            "ping": value_json.ping.latency, 
            "download": value_json.download.bandwidth, 
            "upload": value_json.upload.bandwidth 
          }
          | to_json 
        }}

# Capteurs de template
template:
      - name: 'SpeedTest CLI Ping'
        unique_id: speedtest_cli_ping
        icon: mdi:speedometer
        unit_of_measurement: ms
        state_class: measurement
        state: "{{ (states('sensor.speedtest_cli_data') | from_json).ping | round(2) }}"
      - name: 'SpeedTest CLI Download'
        unique_id: speedtest_cli_download
        icon: mdi:speedometer
        unit_of_measurement: Mbit/s
        state_class: measurement
        state: "{{ ((states('sensor.speedtest_cli_data') | from_json).download * 8 / 1000 / 1000) | round(2) }}"
      - name: 'SpeedTest CLI Upload'
        unique_id: speedtest_cli_upload
        icon: mdi:speedometer
        unit_of_measurement: Mbit/s
        state_class: measurement
        state: "{{ ((states('sensor.speedtest_cli_data') | from_json).upload * 8 / 1000 / 1000) | round(2) }}"

Avertissements de configuration

Invalid config for ‹ sensor › at configuration.yaml, line 14: required key ‹ platform › not provided

voila le soucis… je ne sais pas comment le regler.

Tout dépend comment tu ajoutes ce code à ta configuration, on a esoin d’en voir plus.

Que veux tu que je t’envoie ? Configuration.yaml ?

la c’est mon sensors.yaml