Si tu veux découper la configuration, il faut ajouter la ligne template: !include template.yaml
dans ton configuration.yaml.
Tu crées un fichier template.yaml dans /config ( ou homeassistant sous file editor )
dans le fichier template.yaml, tu colles le code :
- sensor:
- 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) }}"
de même pour le command_line, dans le configuration.yaml, tu ajoutes la ligne
command_line: !include command_line.yaml
tu crées un fichier command_line.yaml, et colle le code :
- sensor:
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
}}