diff --git a/command_line.yaml b/command_line.yaml index 6793af9..6acd682 100644 --- a/command_line.yaml +++ b/command_line.yaml @@ -1,6 +1,6 @@ - sensor: name: Speedtest Data - command: "/config/shell_commands/speedtest --format=json --accept-license --accept-gdpr" + command: "/config/shell_commands/speedtest --format=json --accept-license --accept-gdpr --server-id=14014" command_timeout: 60 value_template: "OK" scan_interval: 3600 diff --git a/shell_commands/speedtest b/shell_commands/speedtest index 37e33b0..44c03da 100755 --- a/shell_commands/speedtest +++ b/shell_commands/speedtest Binary files differ diff --git a/shell_commands/speedtest.5 b/shell_commands/speedtest.5 old mode 100644 new mode 100755 index 762396b..2b727d9 --- a/shell_commands/speedtest.5 +++ b/shell_commands/speedtest.5 @@ -1,194 +1,212 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "SPEEDTEST" "" "November 2021" "" "" +.TH "SPEEDTEST" "5" "July 2022" "Ookla" " Speedtest 1.2.0.84" . -.SH "Name" +.SH "NAME" \fBspeedtest\fR \- Speedtest CLI by Ookla is the official command line client for testing the speed and performance of your internet connection\. . -.SH "Version" -1\.1\.1 +.SH "SYNOPSIS" +\fBspeedtest\fR [\fBhelp\fR] [\fB\-aAbBfhiIpPsv\fR] [\fB\-\-ca\-certificate=path\fR] [\fB\-\-format=\fR\fIformat\-type\fR] [\fB\-\-interface=interface\fR] [\fB\-\-ip=ip_address\fR] [\fB\-\-output\-header\fR] [\fB\-\-precision\fR=\fInum_decimal_places\fR] [\fB\-\-progress\fR=\fIyes|no\fR] [\fB\-\-selection\-details\fR] [\fB\-\-server\-id\fR=\fIid\fR] [\fB\-\-servers\fR] [\fB\-\-unit\fR=\fIunit\-of\-measure\fR] [\fB\-\-version\fR] . -.SH "Synopsis" -. -.nf - - speedtest [\-aAbBfhiIpPsv] [\-\-ca\-certificate=path] [\-\-format=[=format\-type]] [\-\-help] [\-\-interface=interface] - [\-\-ip=ip_address] [\-\-output\-header] [\-\-precision=num_decimal_places] [\-\-progress=yes|no] - [\-\-selection\-details] [\-\-server\-id=id] [\-\-servers] [\-\-unit=[=unit\-of\-measure]] [\-\-version] -. -.fi -. -.SH "Description" +.SH "DESCRIPTION" \fBspeedtest\fR is an application that measures the latency, jitter, packet loss, download bandwidth, and upload bandwidth of the network connection between the client and a nearby Speedtest Server\. . -.SH "Options" +.SH "OPTIONS" . -.IP "\(bu" 4 +.TP \fB\-h, \-\-help\fR -. -.br Print usage information . -.IP "\(bu" 4 -\fB\-v\fR Logging verbosity, specify multiple times for higher verbosity (e\.g\. \fB\-vvv\fR) +.TP +\fB\-v\fR +Logging verbosity, specify multiple times for higher verbosity (e\.g\. \fB\-vvv\fR) . -.IP "\(bu" 4 -\fB\-V, \-\-version\fR Print version number +.TP +\fB\-V, \-\-version\fR +Print version number . -.IP "\(bu" 4 -\fB\-L, \-\-servers\fR List nearest servers +.TP +\fB\-L, \-\-servers\fR +List nearest servers . -.IP "\(bu" 4 -\fB\-\-selection\-details\fR Show server selection details +.TP +\fB\-\-selection\-details\fR +Show server selection details . -.IP "\(bu" 4 +.TP \fB\-s\fR \fIid\fR, \fB\-\-server\-id\fR=\fIid\fR -. -.br Specify a server from the server list using its id . -.IP "\(bu" 4 +.TP \fB\-o\fR \fIhostname\fR, \fB\-\-host\fR=\fIhostname\fR -. -.br Specify a server from the server list using its hostname . -.IP "\(bu" 4 -\fB\-f\fR \fIformat_type\fR \fB\-\-format\fR=\fIformat_type\fR +.TP +\fB\-f\fR \fIformat_type\fR, \fB\-\-format\fR=\fIformat_type\fR +Output format (default is \fIhuman\-readable\fR)\. See \fIOUTPUT FORMATS\fR below for details\. . -.br -Output format (default = human\-readable) Note: Machine readable formats (csv, tsv, json, jsonl, json\-pretty) use bytes as the unit of measure with max precision\. +.TP +\fB\-\-progress\-update\-interval\fR=\fIinterval\fR +Progress update interval (100\-1000 milliseconds) . -.IP -\fIformat_type\fR values are as follows: +.TP +\fB\-\-output\-header\fR +Show output header for CSV and TSV formats . -.IP "\(bu" 4 -\fBhuman\-readable\fR human readable output +.TP +\fB\-u\fR \fIunit_of_measure\fR, \fB\-\-unit\fR=\fIunit_of_measure\fR +Output unit for displaying speeds when using the \fIhuman\-readable\fR output format\. The default unit is Mbps\. See \fIUNITS OF MEASURE\fR for more details\. . -.IP "\(bu" 4 -\fBcsv\fR comma separated values -. -.IP "\(bu" 4 -\fBtsv\fR tab separated values -. -.IP "\(bu" 4 -\fBjson\fR javascript object notation (compact) -. -.IP "\(bu" 4 -\fBjsonl\fR javascript object notation (lines) -. -.IP "\(bu" 4 -\fBjson\-pretty\fR javascript object notation (pretty) -. -.IP "" 0 - -. -.IP "\(bu" 4 -\fB\-\-progress\-update\-interval\fR=\fIinterval\fR Progress update interval (100\-1000 milliseconds) -. -.IP "\(bu" 4 -\fB\-\-output\-header\fR Show output header for CSV and TSV formats -. -.IP "\(bu" 4 -\fB\-u\fR\fIunit_of_measure\fR\fB,\~\-\-unit\fR\fIunit_of_measure\fR Output unit for displaying speeds (Note: this is only applicable for ‘human\-readable’ output format and the default unit is Mbps) -. -.IP "\(bu" 4 -\fBbps\fR bits per second (decimal prefix) -. -.IP "\(bu" 4 -\fBkbps\fR kilobits per second (decimal prefix) -. -.IP "\(bu" 4 -\fBMbps\fR megabits per second (decimal prefix) -. -.IP "\(bu" 4 -\fBGbps\fR gigabits per second (decimal prefix) -. -.IP "\(bu" 4 -\fBkibps\fR kilobits per second (binary prefix) -. -.IP "\(bu" 4 -\fBMibps\fR megabits per second (binary prefix) -. -.IP "\(bu" 4 -\fBGibps\fR gigabits per second (binary prefix) -. -.IP "\(bu" 4 -\fBB/s\fR bytes per second -. -.IP "\(bu" 4 -\fBkB/s\fR kilobytes per second -. -.IP "\(bu" 4 -\fBMB/s\fR megabytes per second -. -.IP "\(bu" 4 -\fBGiB/s\fR gigabytes per second -. -.IP "\(bu" 4 -\fBauto\-binary\-bytes\fR automatic in binary bytes -. -.IP "\(bu" 4 -\fBauto\-decimal\-bytes\fR automatic in decimal bytes -. -.IP "\(bu" 4 -\fBauto\-binary\-bytes\fR automatic in binary bits -. -.IP "\(bu" 4 -\fBauto\-binary\-bytes\fR automatic in decimal bits -. -.IP "" 0 - -. -.IP "\(bu" 4 +.TP \fB\-a\fR +Shortcut for [\fB\-u\fR \fIauto\-decimal\-bits\fR] . -.br -Shortcut for [\fB\-u auto\-decimal\-bits\fR] -. -.IP "\(bu" 4 +.TP \fB\-A\fR +Shortcut for [\fB\-u\fR \fIauto\-decimal\-bytes\fR] . -.br -Shortcut for [\fB\-u auto\-decimal\-bytes\fR] -. -.IP "\(bu" 4 +.TP \fB\-b\fR +Shortcut for [\fB\-u\fR \fIauto\-binary\-bits\fR] . -.br -Shortcut for [\fB\-u auto\-binary\-bits\fR] -. -.IP "\(bu" 4 +.TP \fB\-B\fR +Shortcut for [\fB\-u\fR \fIauto\-binary\-bytes\fR] . -.br -Shortcut for [\fB\-u auto\-binary\-bytes\fR] +.TP +\fB\-P\fR \fIdecimal_places\fR, \fB\-\-precision\fR=\fIdecimal_places\fR +Number of decimal places to use (default = 2, valid = 0\-8)\. Only applicable to the \fIhuman\-readable\fR output format\. . -.IP "\(bu" 4 -\fB\-P\fR \fIdecimal_places\fR \fB\-\-precision\fR=\fIdecimal_places\fR +.TP +\fB\-p\fR \fIyes\fR|\fIno\fR, \fB\-\-progress\fR=\fIyes\fR|\fIno\fR +Enable or disable progress bar (default is \fIyes\fR when interactive) . -.br -Number of decimal_places to use (default = 2, valid = 0\-8) +.TP +\fB\-I\fR \fIinterface\fR, \fB\-\-interface\fR=\fIinterface\fR +Attempt to bind to the specified interface when connecting to servers . -.IP "\(bu" 4 -\fB\-p\fR \fIyes\fR|\fIno\fR \fB\-\-progress\fR=\fIyes\fR|\fIno\fR +.TP +\fB\-i\fR \fIip_address\fR, \fB\-\-ip\fR=\fIip_address\fR +Attempt to bind to the specified IP address when connecting to servers . -.br -Enable or disable progress bar (default = yes when interactive) +.TP +\fB\-\-ca\-certificate\fR=\fIpath\fR +Path to CA Certificate bundle, see \fISSL CERTIFICATE LOCATIONS\fR below\. . -.IP "\(bu" 4 -\fB\-I\fR \fIinterface\fR \fB\-\-interface\fR=\fIinterface\fR Attempt to bind to the specified interface when connecting to servers +.SH "OUTPUT FORMATS" +These are the available output formats for Speedtest CLI specified with the \fB\-f\fR or \fB\-\-format\fR flags\. All machine readable formats (csv, tsv, json, jsonl, json\-pretty) use bytes for data sizes, bytes per seconds for speeds and milliseconds for durations\. They also always use maximum precision output\. . -.IP "\(bu" 4 -\fB\-i\fR \fIip_address\fR \fB\-\-ip\fR=\fIip_address\fR Attempt to bind to the specified IP address when connecting to servers +.TP +\fBhuman\-readable\fR +human readable output . -.IP "\(bu" 4 -\fB\-\-ca\-certificate\fR=\fIpath\fR Path to CA Certificate bundle, see note below\. +.TP +\fBcsv\fR +comma separated values . -.IP "" 0 +.TP +\fBtsv\fR +tab separated values . -.SH "Terms of Use and Privacy Policy Notices" +.TP +\fBjson\fR +javascript object notation (compact) +. +.TP +\fBjsonl\fR +javascript object notation (lines) +. +.TP +\fBjson\-pretty\fR +javascript object notation (pretty) +. +.SH "UNITS OF MEASURE" +For the human\-readable output format, you can specify the unit of measure to use\. The default unit is \fIMbps\fR\. The supported units are listed below\. +. +.P +These units do not apply to machine readable output formats (json, jsonl, csv and tsv)\. +. +.SS "Decimal options (multipliers of 1000)" +. +.TP +\fBbps\fR +bits per second +. +.TP +\fBkbps\fR +kilobits per second +. +.TP +\fBMbps\fR +megabits per second +. +.TP +\fBGbps\fR +gigabits per second +. +.TP +\fBB/s\fR +bytes per second +. +.TP +\fBkB/s\fR +kilobytes per second +. +.TP +\fBMB/s\fR +megabytes per second +. +.TP +\fBGB/s\fR +gigabytes per second +. +.SS "Binary options (multipliers of 1024)" +. +.TP +\fBkibps\fR +kibibits per second +. +.TP +\fBMibps\fR +mebibits per second +. +.TP +\fBGibps\fR +gibibits per second +. +.TP +\fBkiB/s\fR +kibibytes per second +. +.TP +\fBMiB/s\fR +mebibytes per second +. +.TP +\fBGiB/s\fR +gibibytes per second +. +.SS "Auto\-scaling options" +Automatic units will scale the prefix depending on the measured speed\. +. +.TP +\fBauto\-decimal\-bits\fR +automatic in decimal bits +. +.TP +\fBauto\-decimal\-bytes\fR +automatic in decimal bytes +. +.TP +\fBauto\-binary\-bits\fR +automatic in binary bits +. +.TP +\fBauto\-binary\-bytes\fR +automatic in binary bytes +. +.SH "TERMS OF USE AND PRIVACY POLICY NOTICES" You may only use this Speedtest software and information generated from it for personal, non\-commercial use, through a command line interface on a personal computer\. Your use of this software is subject to the End User License Agreement, Terms of Use and Privacy Policy at these URLs: . .IP "\(bu" 4 @@ -202,7 +220,7 @@ . .IP "" 0 . -.SH "Output" +.SH "OUTPUT" Upon successful execution, the application will exit with an exit code of 0\. The result will include latency, jitter, download, upload, packet loss (where available), and a result URL\. . .P @@ -234,24 +252,26 @@ .nf $ speedtest - Speedtest by Ookla + Speedtest by Ookla - Server: Speedtest\.net \- New York, NY (id = 10390) - ISP: Comcast Cable - Latency: 57\.81 ms (3\.65 ms jitter) - Download: 76\.82 Mbps (data used: 80\.9 MB) - Upload: 37\.58 Mbps (data used: 65\.3 MB) -Packet Loss: 0\.0% - Result URL: https://www\.speedtest\.net/result/c/8ae1200c\-e639\-45e5\-8b55\-41421a079250 + Server: SUNET \- Stockholm (id: 26852) + ISP: Bahnhof AB +Idle Latency: 5\.04 ms (jitter: 0\.04ms, low: 5\.01ms, high: 5\.07ms) + Download: 968\.73 Mbps (data used: 117\.5 MB) + 12\.10 ms (jitter: 1\.71ms, low: 6\.71ms, high: 18\.82ms) + Upload: 942\.13 Mbps (data used: 114\.8 MB) + 9\.94 ms (jitter: 1\.10ms, low: 5\.30ms, high: 12\.72ms) + Packet Loss: 0\.0% + Result URL: https://www\.speedtest\.net/result/c/d1c46724\-50a3\-4a59\-87ca\-ffc09ea014b2 . .fi . .IP "" 0 . -.SH "Network Timeout Values" +.SH "NETWORK TIMEOUT VALUES" By default, network requests set a timeout of \fB10\fR seconds\. The only exception to this is latency testing, which sets a timeout of \fB15\fR seconds\. . -.SH "Fatal Errors" +.SH "FATAL ERRORS" Upon fatal errors, the application will exit with a non\-zero exit code\. . .P @@ -284,7 +304,7 @@ .P \fI[error] Server Selection \- Failed to find a working test server\. (NoServers)\fR . -.SH "SSL Certificate Locations" +.SH "SSL CERTIFICATE LOCATIONS" By default the following paths are checked for CA certificate bundles on linux machines: . .IP "" 4 @@ -308,23 +328,45 @@ . .nf -wget https://curl\.haxx\.se/ca/cacert\.pem +wget https://curl\.se/ca/cacert\.pem \./ookla \-\-ca\-certificate=\./cacert\.pem . .fi . .IP "" 0 . -.SH "Release Notes" +.SH "RELEASE NOTES" . -.SS "1\.1\.1 \- 11/15/2021" +.SS "1\.2\.0 (2022\-07\-27)" +. +.IP "\(bu" 4 +Cleaned up formatting in human\-readable output for additional data within parenthesis (now using \fBlabel: value\fR consistently) +. +.IP "\(bu" 4 +Compressed result upload data to reduce data usage +. +.IP "\(bu" 4 +Added support for measuring responsiveness (latency during load) +. +.IP "\(bu" 4 +Added experimental support for multi\-server testing +. +.IP "\(bu" 4 +Updated third\-party dependencies: cURL 7\.83\.1, mbed TLS 3\.1\.0, Boost 1\.79\.0 +. +.IP "\(bu" 4 +Added stability improvements +. +.IP "" 0 +. +.SS "1\.1\.1 (2021\-11\-15)" . .IP "\(bu" 4 Fixed issue with reported client version in uploaded results . .IP "" 0 . -.SS "1\.1\.0 \- 10/27/2021" +.SS "1\.1\.0 (2021\-10\-27)" . .IP "\(bu" 4 Use server\-side upload measurements @@ -351,21 +393,21 @@ Update Boost to 1\.77\.0 . .IP "\(bu" 4 -Update mbedTLS to 2\.27\.0 +Update mbed TLS to 2\.27\.0 . .IP "\(bu" 4 Update cURL to 7\.78\.0 . .IP "" 0 . -.SS "1\.0\.0 \- 10/29/2019" +.SS "1\.0\.0 (2019\-10\-29)" . .IP "\(bu" 4 Initial release . .IP "" 0 . -.SH "Copyright Notices for Third\-Party Products/Libraries" +.SH "COPYRIGHT NOTICES FOR THIRD\-PARTY PRODUCTS/LIBRARIES" This software incorporates free and open source third\-party libraries, including: . .IP "\(bu" 4 diff --git a/shell_commands/speedtest.md b/shell_commands/speedtest.md index d2e0412..2f22866 100644 --- a/shell_commands/speedtest.md +++ b/shell_commands/speedtest.md @@ -1,112 +1,152 @@ -# Speedtest +speedtest(5) - Speedtest CLI by Ookla is the official command line client for testing the speed and performance of your internet connection. +============ -## Name - **speedtest** - Speedtest CLI by Ookla is the official command line client for testing the speed and performance of your internet connection. +## SYNOPSIS +**speedtest** [**help**] [**-aAbBfhiIpPsv**] [**--ca-certificate=path**] [**--format=**] +[**--interface=interface**] [**--ip=ip_address**] [**--output-header**] [**--precision**=] +[**--progress**=] [**--selection-details**] [**--server-id**=] [**--servers**] [**--unit**=] [**--version**] -## Version - 1.1.1 - -## Synopsis -``` - speedtest [-aAbBfhiIpPsv] [--ca-certificate=path] [--format=[=format-type]] [--help] [--interface=interface] - [--ip=ip_address] [--output-header] [--precision=num_decimal_places] [--progress=yes|no] - [--selection-details] [--server-id=id] [--servers] [--unit=[=unit-of-measure]] [--version] -``` - -## Description +## DESCRIPTION **speedtest** is an application that measures the latency, jitter, packet loss, download bandwidth, and upload bandwidth of the network connection between the client and a nearby Speedtest Server. -## Options -* **-h, --help** +## OPTIONS + +* **-h, --help**: Print usage information -* **-v** +* **-v**: Logging verbosity, specify multiple times for higher verbosity (e.g. **-vvv**) -* **-V, --version** +* **-V, --version**: Print version number -* **-L, --servers** +* **-L, --servers**: List nearest servers -* **--selection-details** +* **--selection-details**: Show server selection details -* **-s** *id*, **--server-id**=*id* +* **-s** *id*, **--server-id**=: Specify a server from the server list using its id -* **-o** *hostname*, **--host**=*hostname* +* **-o** *hostname*, **--host**=: Specify a server from the server list using its hostname -* **-f** *format_type* **--format**=*format_type* - Output format (default = human-readable) - Note: Machine readable formats (csv, tsv, json, jsonl, json-pretty) use bytes - as the unit of measure with max precision. - - *format_type* values are as follows: - * **human-readable** human readable output - * **csv** comma separated values - * **tsv** tab separated values - * **json** javascript object notation (compact) - * **jsonl** javascript object notation (lines) - * **json-pretty** javascript object notation (pretty) - -* **--progress-update-interval**=*interval* +* **-f** , **--format**=: + Output format (default is ). See [OUTPUT FORMATS][] below for details. + +* **--progress-update-interval**=: Progress update interval (100-1000 milliseconds) -* **--output-header** +* **--output-header**: Show output header for CSV and TSV formats -* **-u*** unit_of_measure***, --unit*** unit_of_measure* - Output unit for displaying speeds (Note: this is only applicable - for ‘human-readable’ output format and the default unit is Mbps) +* **-u** , **--unit**=: + Output unit for displaying speeds when using the + output format. The default unit is Mbps. See [UNITS OF MEASURE][] for + more details. - * **bps** bits per second (decimal prefix) - * **kbps** kilobits per second (decimal prefix) - * **Mbps** megabits per second (decimal prefix) - * **Gbps** gigabits per second (decimal prefix) - * **kibps** kilobits per second (binary prefix) - * **Mibps** megabits per second (binary prefix) - * **Gibps** gigabits per second (binary prefix) - * **B/s** bytes per second - * **kB/s** kilobytes per second - * **MB/s** megabytes per second - * **GiB/s** gigabytes per second - * **auto-binary-bytes** automatic in binary bytes - * **auto-decimal-bytes** automatic in decimal bytes - * **auto-binary-bytes** automatic in binary bits - * **auto-binary-bytes** automatic in decimal bits - -* **-a** - Shortcut for [**-u auto-decimal-bits**] +* **-a**: + Shortcut for [**-u** ] -* **-A** - Shortcut for [**-u auto-decimal-bytes**] +* **-A**: + Shortcut for [**-u** ] -* **-b** - Shortcut for [**-u auto-binary-bits**] +* **-b**: + Shortcut for [**-u** ] -* **-B** - Shortcut for [**-u auto-binary-bytes**] +* **-B**: + Shortcut for [**-u** ] -* **-P** *decimal_places* **--precision**=*decimal_places* - Number of decimal_places to use (default = 2, valid = 0-8) +* **-P** , **--precision**=: + Number of decimal places to use (default = 2, valid = 0-8). Only applicable to the + output format. -* **-p** *yes*|*no* **--progress**=*yes*|*no* - Enable or disable progress bar (default = yes when interactive) +* **-p** |, **--progress**=|: + Enable or disable progress bar (default is when interactive) -* **-I** *interface* **--interface**=*interface* +* **-I** , **--interface**=: Attempt to bind to the specified interface when connecting to servers -* **-i** *ip_address* **--ip**=*ip_address* +* **-i** , **--ip**=: Attempt to bind to the specified IP address when connecting to servers -* **--ca-certificate**=*path* - Path to CA Certificate bundle, see note below. +* **--ca-certificate**=: + Path to CA Certificate bundle, see [SSL CERTIFICATE LOCATIONS][] below. -## Terms of Use and Privacy Policy Notices +## OUTPUT FORMATS + +These are the available output formats for Speedtest CLI specified with the **-f** or **--format** flags. All machine readable formats +(csv, tsv, json, jsonl, json-pretty) use bytes for data sizes, bytes per seconds for speeds and milliseconds for durations. They also always use maximum precision output. + +* **human-readable**: + human readable output +* **csv**: + comma separated values +* **tsv**: + tab separated values +* **json**: + javascript object notation (compact) +* **jsonl**: + javascript object notation (lines) +* **json-pretty**: + javascript object notation (pretty) + +## UNITS OF MEASURE + +For the human-readable output format, you can specify the unit of measure to use. The default unit +is . The supported units are listed below. + +These units do not apply to machine readable output formats (json, jsonl, csv and tsv). + +### Decimal options (multipliers of 1000) + +* **bps**: + bits per second +* **kbps**: + kilobits per second +* **Mbps**: + megabits per second +* **Gbps**: + gigabits per second +* **B/s**: + bytes per second +* **kB/s**: + kilobytes per second +* **MB/s**: + megabytes per second +* **GB/s**: + gigabytes per second + +### Binary options (multipliers of 1024) +* **kibps**: + kibibits per second +* **Mibps**: + mebibits per second +* **Gibps**: + gibibits per second +* **kiB/s**: + kibibytes per second +* **MiB/s**: + mebibytes per second +* **GiB/s**: + gibibytes per second + +### Auto-scaling options +Automatic units will scale the prefix depending on the measured speed. + +* **auto-decimal-bits**: + automatic in decimal bits +* **auto-decimal-bytes**: + automatic in decimal bytes +* **auto-binary-bits**: + automatic in binary bits +* **auto-binary-bytes**: + automatic in binary bytes + +## TERMS OF USE AND PRIVACY POLICY NOTICES You may only use this Speedtest software and information generated from it for personal, non-commercial use, through a command line interface on a personal computer. Your use of this software is subject to the End User License Agreement, Terms of Use and Privacy Policy at these URLs: @@ -115,7 +155,7 @@ * [https://www.speedtest.net/about/terms](https://www.speedtest.net/about/terms) * [https://www.speedtest.net/about/privacy](https://www.speedtest.net/about/privacy) -## Output +## OUTPUT Upon successful execution, the application will exit with an exit code of 0. The result will include latency, jitter, download, upload, packet loss (where available), and a result URL. @@ -142,22 +182,24 @@ ``` $ speedtest - Speedtest by Ookla + Speedtest by Ookla - Server: Speedtest.net - New York, NY (id = 10390) - ISP: Comcast Cable - Latency: 57.81 ms (3.65 ms jitter) - Download: 76.82 Mbps (data used: 80.9 MB) - Upload: 37.58 Mbps (data used: 65.3 MB) -Packet Loss: 0.0% - Result URL: https://www.speedtest.net/result/c/8ae1200c-e639-45e5-8b55-41421a079250 + Server: SUNET - Stockholm (id: 26852) + ISP: Bahnhof AB +Idle Latency: 5.04 ms (jitter: 0.04ms, low: 5.01ms, high: 5.07ms) + Download: 968.73 Mbps (data used: 117.5 MB) + 12.10 ms (jitter: 1.71ms, low: 6.71ms, high: 18.82ms) + Upload: 942.13 Mbps (data used: 114.8 MB) + 9.94 ms (jitter: 1.10ms, low: 5.30ms, high: 12.72ms) + Packet Loss: 0.0% + Result URL: https://www.speedtest.net/result/c/d1c46724-50a3-4a59-87ca-ffc09ea014b2 ``` -## Network Timeout Values +## NETWORK TIMEOUT VALUES By default, network requests set a timeout of **10** seconds. The only exception to this is latency testing, which sets a timeout of **15** seconds. -## Fatal Errors +## FATAL ERRORS Upon fatal errors, the application will exit with a non-zero exit code. **Initialization Fatal Error Examples:** @@ -180,7 +222,7 @@ *[error] Server Selection - Failed to find a working test server. (NoServers)* -## SSL Certificate Locations +## SSL CERTIFICATE LOCATIONS By default the following paths are checked for CA certificate bundles on linux machines: /etc/ssl/certs/ca-certificates.crt @@ -192,15 +234,23 @@ If the device under test does *not* have one of the above mentioned files, then the canonical and up to date CA certificate bundle provided by the curl project can be manually downloaded into a specific location. This specific location can be provided as a parameter per the following example: - wget https://curl.haxx.se/ca/cacert.pem + wget https://curl.se/ca/cacert.pem ./ookla --ca-certificate=./cacert.pem -## Release Notes +## RELEASE NOTES -### 1.1.1 - 11/15/2021 +### 1.2.0 (2022-07-27) +* Cleaned up formatting in human-readable output for additional data within parenthesis (now using `label: value` consistently) +* Compressed result upload data to reduce data usage +* Added support for measuring responsiveness (latency during load) +* Added experimental support for multi-server testing +* Updated third-party dependencies: cURL 7.83.1, mbed TLS 3.1.0, Boost 1.79.0 +* Added stability improvements + +### 1.1.1 (2021-11-15) * Fixed issue with reported client version in uploaded results -### 1.1.0 - 10/27/2021 +### 1.1.0 (2021-10-27) * Use server-side upload measurements * Performance enhancement on upload tests for CPU constrained devices * Security enhancements @@ -209,13 +259,13 @@ * Fix crash in hostname resolution during test initialization * Fix potential buffer overflow * Update Boost to 1.77.0 -* Update mbedTLS to 2.27.0 +* Update mbed TLS to 2.27.0 * Update cURL to 7.78.0 -### 1.0.0 - 10/29/2019 +### 1.0.0 (2019-10-29) * Initial release -## Copyright Notices for Third-Party Products/Libraries +## COPYRIGHT NOTICES FOR THIRD-PARTY PRODUCTS/LIBRARIES This software incorporates free and open source third-party libraries, including: * [boost](https://www.boost.org/) @@ -244,25 +294,25 @@ DISCLAIMER This file is part of the mingw-w64 runtime package. - - The mingw-w64 runtime package and its code is distributed in the hope that it - will be useful but WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESSED OR - IMPLIED ARE HEREBY DISCLAIMED. This includes but is not limited to + + The mingw-w64 runtime package and its code is distributed in the hope that it + will be useful but WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESSED OR + IMPLIED ARE HEREBY DISCLAIMED. This includes but is not limited to warranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - - + + Copyright (c) 2002 Todd C. Miller - + Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. - + Copyright (c) 2000 The NetBSD Foundation, Inc. All rights reserved. - + This code is derived from software contributed to The NetBSD Foundation by Dieter Baron and Thomas Klausner. - + Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: @@ -275,14 +325,14 @@ ### Inclusion of PicoSHA2 is subject to distribution of the software with the following notice: Copyright (c) 2017 okdshin - + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - + The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. @@ -300,4 +350,3 @@ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - diff --git a/template/speedtest.yaml b/template/speedtest.yaml index b2573f3..a792899 100644 --- a/template/speedtest.yaml +++ b/template/speedtest.yaml @@ -4,11 +4,21 @@ unit_of_measurement: ms state_class: measurement + - name: Speedtest Download Ping + state: '{{ ((state_attr("sensor.speedtest_data", "download").latency.iqm | float )) | round(2) }}' + unit_of_measurement: ms + state_class: measurement + + - name: Speedtest Upload Ping + state: '{{ ((state_attr("sensor.speedtest_data", "upload").latency.iqm | float )) | round(2) }}' + unit_of_measurement: ms + state_class: measurement + - name: Speedtest Download state: '{{ ((state_attr("sensor.speedtest_data", "download").bandwidth | int ) * 8 / 1000000) | round(2) }}' unit_of_measurement: Mbit/s state_class: measurement - + - name: Speedtest Upload state: '{{ ((state_attr("sensor.speedtest_data", "upload").bandwidth | int ) * 8 / 1000000) | round(2) }}' unit_of_measurement: Mbit/s diff --git a/template/uptime.yaml b/template/uptime.yaml new file mode 100644 index 0000000..48161ad --- /dev/null +++ b/template/uptime.yaml @@ -0,0 +1,10 @@ +- sensor: + - name: router_uptime + state: >- + {% set uptime = states.sensor.simstrup_gateway_uptime.state | int %} + {% set days = (uptime / 86400) | int %} + {%- if days > 0 -%} + {{ days }} days, {{ (uptime - (days * 86400)) | int | timestamp_custom('%H:%M:%S', false) }} + {%- else -%} + {{ uptime | int | timestamp_custom('%H:%M:%S', false) }} + {%- endif -%} diff --git a/zigbee2mqtt/coordinator_backup.json b/zigbee2mqtt/coordinator_backup.json index b84282f..3319948 100644 --- a/zigbee2mqtt/coordinator_backup.json +++ b/zigbee2mqtt/coordinator_backup.json @@ -2,9 +2,9 @@ "metadata": { "format": "zigpy/open-coordinator-backup", "version": 1, - "source": "zigbee-herdsman@0.14.83-hotfix.0", + "source": "zigbee-herdsman@0.16.0", "internal": { - "date": "2023-02-06T11:17:13.141Z", + "date": "2023-07-08T17:30:54.238Z", "znpVersion": 1 } }, @@ -25,7 +25,7 @@ "network_key": { "key": "01030507090b0d0f00020406080a0c0d", "sequence_number": 0, - "frame_counter": 9306754 + "frame_counter": 24200300 }, "devices": [ { @@ -35,17 +35,17 @@ "link_key": { "key": "2dbd06f2c925d1440e77baca95187bb8", "rx_counter": 0, - "tx_counter": 110 + "tx_counter": 165 } }, { - "nwk_address": "52a7", + "nwk_address": "b1ca", "ieee_address": "f082c0fffe9be262", "is_child": false, "link_key": { "key": "6a56d62baee038ec499c6a13f2dd9210", "rx_counter": 0, - "tx_counter": 88 + "tx_counter": 143 } }, { @@ -54,8 +54,8 @@ "is_child": false, "link_key": { "key": "12112468ae69e11eee32eed49635dcb4", - "rx_counter": 6797821, - "tx_counter": 131 + "rx_counter": 20150285, + "tx_counter": 200 } }, { @@ -65,7 +65,7 @@ "link_key": { "key": "a358f80d1da831f869e4c0512002cddb", "rx_counter": 0, - "tx_counter": 110 + "tx_counter": 165 } }, { @@ -75,37 +75,37 @@ "link_key": { "key": "d2ccd31ef76ff9518ef179e2d4a54569", "rx_counter": 0, - "tx_counter": 77 + "tx_counter": 132 } }, { - "nwk_address": "af16", + "nwk_address": "18db", "ieee_address": "00124b0029117198", "is_child": false, "link_key": { "key": "90c55cfc516ba81cb30fe0c40d5602e0", "rx_counter": 0, - "tx_counter": 77 + "tx_counter": 132 } }, { - "nwk_address": "78a3", + "nwk_address": "df63", "ieee_address": "00124b0029209f8c", "is_child": false, "link_key": { "key": "818230c908ff5fd5ddbf9a352b35e3ed", "rx_counter": 0, - "tx_counter": 77 + "tx_counter": 132 } }, { - "nwk_address": "0e07", + "nwk_address": "52a3", "ieee_address": "00124b0029203033", "is_child": false, "link_key": { "key": "c2dd2d3410ab1ab47ee57109ba57397e", "rx_counter": 0, - "tx_counter": 92 + "tx_counter": 162 } }, { @@ -115,17 +115,27 @@ "link_key": { "key": "ffccf57820f10e2b3570cd241d5bf208", "rx_counter": 0, - "tx_counter": 77 + "tx_counter": 132 } }, { - "nwk_address": "d3a6", + "nwk_address": "4846", "ieee_address": "00124b00292067e9", "is_child": false, "link_key": { "key": "f987289d4d9e4320537b0b57f1a61f1d", "rx_counter": 0, - "tx_counter": 77 + "tx_counter": 142 + } + }, + { + "nwk_address": "ce77", + "ieee_address": "a4c138d2c6cf467b", + "is_child": false, + "link_key": { + "key": "50383e2bdf25d14473f2821383187bb8", + "rx_counter": 0, + "tx_counter": 0 } } ]