diff --git a/docs/widgets/services/speedtest-tracker.md b/docs/widgets/services/speedtest-tracker.md
index 7e250967..99b5b993 100644
--- a/docs/widgets/services/speedtest-tracker.md
+++ b/docs/widgets/services/speedtest-tracker.md
@@ -16,4 +16,5 @@ Allowed fields: `["download", "upload", "ping"]`.
widget:
type: speedtest
url: http://speedtest.host.or.ip
+ bitratePrecision: 3 # optional, default is 0
```
diff --git a/src/utils/config/service-helpers.js b/src/utils/config/service-helpers.js
index fc4d57eb..aaee636c 100644
--- a/src/utils/config/service-helpers.js
+++ b/src/utils/config/service-helpers.js
@@ -450,6 +450,9 @@ export function cleanServiceGroups(groups) {
// proxmox
node,
+ // speedtest
+ bitratePrecision,
+
// sonarr, radarr
enableQueue,
@@ -588,6 +591,11 @@ export function cleanServiceGroups(groups) {
if (type === "healthchecks") {
if (uuid !== undefined) cleanedService.widget.uuid = uuid;
}
+ if (type === "speedtest") {
+ if (bitratePrecision !== undefined) {
+ cleanedService.widget.bitratePrecision = parseInt(bitratePrecision, 10);
+ }
+ }
}
return cleanedService;
diff --git a/src/widgets/speedtest/component.jsx b/src/widgets/speedtest/component.jsx
index 0102025b..9826f776 100644
--- a/src/widgets/speedtest/component.jsx
+++ b/src/widgets/speedtest/component.jsx
@@ -11,6 +11,11 @@ export default function Component({ service }) {
const { data: speedtestData, error: speedtestError } = useWidgetAPI(widget, "speedtest/latest");
+ const bitratePrecision =
+ !widget?.bitratePrecision || Number.isNaN(widget?.bitratePrecision) || widget?.bitratePrecision < 0
+ ? 0
+ : widget.bitratePrecision;
+
if (speedtestError) {
return ;
}
@@ -29,9 +34,18 @@ export default function Component({ service }) {
+
-