Intégrer Speedtest CLI Officielle à Home Assistant

@monaxe

Si tu souhaites aéré la mise en page

  - platform: template
    sensors:
      speedtest_download:
        friendly_name: "SpeedTest Download"
        icon_template: mdi:gauge
        unit_of_measurement: 'Mbit/s'
        value_template: "{{ ((states('sensor.speedtest_data') | from_json).download * 8 / 1000 / 1000) | round(2) }}"    
 
  - platform: template
    sensors:
      speedtest_upload:
        friendly_name: "SpeedTest Upload"
        icon_template: mdi:gauge
        unit_of_measurement: 'Mbit/s'
        value_template: "{{ ((states('sensor.speedtest_data') | from_json).upload * 8 / 1000 / 1000) | round(2) }}"     

  - platform: template
    sensors:
      speedtest_ping:
        friendly_name: "SpeedTest Ping"
        icon_template: mdi:gauge
        unit_of_measurement: 'ms'
        value_template: "{{ (states('sensor.speedtest_data') | from_json).ping | round(2) }}"
        
  - platform: template
    sensors:
      speedtest_server:
        friendly_name: "SpeedTest Server"
        icon_template: mdi:gauge
        value_template: "{{ ((states('sensor.speedtest_data') | from_json).server_name) }}"
        
  - platform: template
    sensors:
      speedtest_isp:
        friendly_name: "SpeedTest ISP"
        value_template: "{{ ((states('sensor.speedtest_data') | from_json).isp) }}"
1 « J'aime »

Merci @monaxe @ClassicRed, je mettrais le tuto a jours dès que j’ai 5 min.

bonsoir,
j’ai mis a jour le tuto et tester tout ca. C’est top :slight_smile:

du coup j’ai rajouter les infos du serveur sur mon graph (mini-graph-card + card-mod)
serveur

je vous partage le code:

  - type: custom:mini-graph-card
    decimals: 0
    hour24: true
    height: 79
    hours_to_show: 24
    points_per_hour: 2
    line_width: 2
    entities:
      - entity: sensor.speedtest_cli_ping
        name: Ping
    show:
      fill: true
      graph: line
      icon: true
      name: true
      state: true
      labels: false
      extrema: false
      average: false
      icon_adaptive_color: true
    align_icon: right
    align_state: left
    font_size: 70
    animate: true
    color_thresholds:
      - value: 34
        color: '#336600'
      - value: 36
        color: '#f39c12'
      - value: 38
        color: '#d35400'
      - value: 40
        color: '#c0392b'
    style: |
      ha-card .header.flex .name.flex {
        color: #44739e;
        font-size: 14px;
      }
      .header.flex .icon {
        --mdc-icon-size: 28px;
      }
      :host {
        --card-mod-icon-color: #44739e;
      }
      .fill {
        fill: white;
        opacity: 1 !important;
      }
      ha-card {
        box-shadow: none;
      }
      ha-card .states.flex::after {
        content: "Serveur: {{states('sensor.speedtest_location')}} - {{states('sensor.speedtest_server_name')}}";
        white-space: pre;
        background-color: rgba(68, 115, 158,0.4);
        padding: 2px 2px 0px 2px;
        border-radius: 4px;
        font-size: 14px;
      }
2 « J'aime »

@WarC0zes

re

petit souci de chevauchement voir cadre blanc

Capture d’écran 2022-11-10 023840

supprime margin-top:

      ha-card {
        margin-top: -18px !important;  # supprime c'est ligne

j’ai edit mon message et j’ai suprimer c’est ligne.

1 « J'aime »

@WarC0zes merci

C’est good :+1:
Capture d’écran 2022-11-10 030641

1 « J'aime »

Merci @WarC0zes

N’arrivant pas a avoir les infos via l’intégration freebox, cette solution me convient tout autant.

Merci à toi pour le partage!

1 « J'aime »

Bonjour à tous et merci pour ce super travail.
Question: est-il possible de définir un serveur de test par défaut ?
En effet tous les serveurs ne se valent pas (surtout avec une grosse connexion fibre)
Je n’ai rien vu qui faisait référence à cette possibilité

Merci d’avance

Salut @Guizmos

Tu peux lister les serveurs les plus proches avec (à adapter selon l’installation) :

speedtest -L

Et dans la commande speedtest tu ajoutes l’id du serveur (exemple avec la commande fournie par @WarC0zes et l’ID 45446) :

/config/3rdparty/speedtest/speedtest -s 45446 --format=json --accept-license --accept-gdpr
2 « J'aime »

Super merci, ça fonctionne parfaitement

speedtest

:slight_smile:

Est-il possible de lancer le test manuellement via un script (ou autre)?

Script au sens « HA » ou au sens script plus large ?

Je voudrais pouvoir lancer un speedtest via un bouton depuis HA

Si tu as suivi le tuto de WarC0zes, un bouton de ce genre devrait foncionner :

show_name: true
show_icon: true
type: button
tap_action:
  action: call-service
  service: homeassistant.update_entity
  data: {}
  target:
    entity_id: sensor.speedtest_cli_data
icon: mdi:router-network
name: Update Speedtest
1 « J'aime »

Au top merci beaucoup :relaxed:

il existe aussi la soluc de l’iframe, simple et rapide
type: iframe
url: https://www.metercustom.net/plugin/
aspect_ratio: 85%

Salut,
Y a t’il une liste des serveurs avec ID?
car avec la commande ./speedtest -L ca me donne que les serveurs a proximité et habitant dans l’aude je n’est que deux serveurs en france ( toulouse ) et le reste en espagne et andorre avec des ping et debit moyen.
J’aimerais avoir un serveur orange 10gbits sur marseille.

Salut @WarC0zes

A priori le mieux qu’on puisse faire en CLI c’est le « -L » :confused:

Par contre en fouinant un peu ce matin j’ai trouvé un serveur sur Marseille qui devrait faire l’affaire pour toi.

LaFibre.info - Marseille (id: 4036)

Tu nous diras si ça le fait :wink: ?

[EDIT] Pas encore complétement réveillé, je viens de voir que tu cherchais un serveur « Orange ». J’ai pas trouvé, mais je peux chercher encore un peu :wink:

1 « J'aime »

Ca l’air bon celui de LaFibre.info - Marseille (id: 4036). J’ai full speed ( du rpi3 B ) en dl et up. je vais modifier la command avec ce ID.
Je vais tester quelque jours celui la. Merci @Herbs
speedtest fibre marseille

Edit:
je suis tomber sur la même liste que ton lien, j’ai essayer sur perpignan un 10Gbits mais ca pas fonctionner alors j’ai pas plus approfondie.

Yep, j’ai testé aussi mais il y a quelques serveurs dans la liste qui semblent « down » :wink:

J’ai tester les plus proches ( dans le sud ) en 10Gbits, ils sont tous down.
LaFibre.info 10Gb/s - Marseille (id: 4036) est stable chez moi, j’aurais pas mieux :grin:
Pour les sudistes passer par ce serveur :wink:

Edit:
@ClassicRed tu pourrais partager le résultat de la command: ./speedtest -L ?
Comme je vois sur ton test de débit (ici) un serveur de nice et que la command ./speedtest -L ne montre que les serveurs a proximité, je pourrais voir les serveurs dispo sur marseille.