feat(auto-refresh): add Transmission and docs

This commit is contained in:
Joris W. van Rijn
2025-10-07 14:08:57 +02:00
committed by Bastien Wirtz
parent b56a7fd1d5
commit 715c1cec6e
3 changed files with 19 additions and 24 deletions

View File

@@ -81,6 +81,7 @@ Available services are located in `src/components/`:
endpoint: https://my-service-api.url # Optional: alternative base URL used to fetch service data when necessary. endpoint: https://my-service-api.url # Optional: alternative base URL used to fetch service data when necessary.
useCredentials: false # Optional: Override global proxy.useCredentials configuration. useCredentials: false # Optional: Override global proxy.useCredentials configuration.
headers: # Optional: Override global proxy.headers configuration. headers: # Optional: Override global proxy.headers configuration.
autoUpdateInterval: # Optional: Time in ms. Some services can periodically fetch data (see below)
``` ```
If a subtitle is provided, (using the `subtitle` configuration key), **it will override (hide)** any custom information displayed on the subtitle line by the custom integration. If a subtitle is provided, (using the `subtitle` configuration key), **it will override (hide)** any custom information displayed on the subtitle line by the custom integration.
@@ -160,7 +161,7 @@ Displays unread article count and total subscriptions from your FreshRSS server.
- name: "FreshRSS" - name: "FreshRSS"
type: "FreshRSS" type: "FreshRSS"
url: https://my-service.url url: https://my-service.url
updateInterval: 5000 # (Optional) Interval (in ms) for updating the stats autoUpdateInterval: 5000 # (Optional) Interval (in ms) for updating the stats
username: "<---your-username--->" username: "<---your-username--->"
password: "<---your-password--->" password: "<---your-password--->"
``` ```
@@ -183,7 +184,7 @@ Optionally, the results can be filtered to only include jobs in the defined grou
The status can be checked regularly by defining an update Interval in ms: The status can be checked regularly by defining an update Interval in ms:
```yaml ```yaml
updateInterval: 5000 autoUpdateInterval: 5000
``` ```
The average times can be hidden (saves their calculation also) by setting the following: The average times can be hidden (saves their calculation also) by setting the following:
@@ -322,7 +323,7 @@ Two lines are needed in the `config.yml`:
type: "Lidarr" # "Lidarr" "Prowlarr", "Radarr" or "Sonarr" type: "Lidarr" # "Lidarr" "Prowlarr", "Radarr" or "Sonarr"
logo: "assets/tools/sample.png" logo: "assets/tools/sample.png"
url: https://my-service.url url: https://my-service.url
checkInterval: 5000 # (Optional) Interval (in ms) for updating the status autoUpdateInterval: 5000 # (Optional) Interval (in ms) for updating the status
apikey: "<---insert-api-key-here--->" apikey: "<---insert-api-key-here--->"
``` ```
@@ -520,7 +521,7 @@ Displays stats from your PiAlert server.
type: "PiAlert" type: "PiAlert"
logo: "assets/tools/sample.png" logo: "assets/tools/sample.png"
url: https://my-service.url url: https://my-service.url
updateInterval: 5000 # (Optional) Interval (in ms) for updating the stats autoUpdateInterval: 5000 # (Optional) Interval (in ms) for updating the stats
``` ```
## PiHole ## PiHole
@@ -535,7 +536,7 @@ Displays info about your local PiHole instance right on your Homer dashboard.
# endpoint: "https://my-service-api.url" # optional, For v6 API, this is the base URL used to fetch Pi-hole data overwriting the url # endpoint: "https://my-service-api.url" # optional, For v6 API, this is the base URL used to fetch Pi-hole data overwriting the url
apikey: "<---insert-api-key-here--->" # optional, needed if web interface is password protected apikey: "<---insert-api-key-here--->" # optional, needed if web interface is password protected
apiVersion: 5 # optional, defaults to 5. Use 6 if your PiHole instance uses API v6 apiVersion: 5 # optional, defaults to 5. Use 6 if your PiHole instance uses API v6
checkInterval: 3000 # optional, defaults to 300000. interval in ms to check Pi-hole status autoUpdateInterval: 3000 # optional, defaults to 300000. interval in ms to check Pi-hole status
``` ```
**API Key**: Required only if Pi-hole web interface is password protected. Go to **Settings > API/Web Interface > Show API token** **API Key**: Required only if Pi-hole web interface is password protected. Go to **Settings > API/Web Interface > Show API token**
@@ -560,7 +561,7 @@ Optionally, use `successCodes` to define which HTTP response status codes should
# successCodes: [200, 418] # Optional, default to all 2xx HTTP response status codes # successCodes: [200, 418] # Optional, default to all 2xx HTTP response status codes
# timeout: 500 # Timeout in ms before ping is aborted. Default 2000 # timeout: 500 # Timeout in ms before ping is aborted. Default 2000
# subtitle: "Bookmark example" # By default, request round trip time is displayed when subtitle is not set # subtitle: "Bookmark example" # By default, request round trip time is displayed when subtitle is not set
# updateInterval: 5000 # (Optional) Interval (in ms) for updating ping status # autoUpdateInterval: 5000 # (Optional) Interval (in ms) for updating ping status
``` ```
## Plex ## Plex
@@ -650,8 +651,7 @@ for setting up qBittorrent.
type: "qBittorrent" type: "qBittorrent"
logo: "assets/tools/sample.png" logo: "assets/tools/sample.png"
url: https://my-service.url # Your rTorrent web UI, f.e. ruTorrent or Flood. url: https://my-service.url # Your rTorrent web UI, f.e. ruTorrent or Flood.
rateInterval: 2000 # Interval for updating the download and upload rates. autoUpdateInterval: 2000 # Interval for updating the download, upload rates & torrent count
torrentInterval: 5000 # Interval for updating the torrent count.
``` ```
## rTorrent ## rTorrent
@@ -668,8 +668,7 @@ for setting up rTorrent.
logo: "assets/tools/sample.png" logo: "assets/tools/sample.png"
url: "https://my-service.url" # Your rTorrent web UI, f.e. ruTorrent or Flood. url: "https://my-service.url" # Your rTorrent web UI, f.e. ruTorrent or Flood.
xmlrpc: "https://my-service.url:port" # Reverse proxy for rTorrent's XML-RPC. xmlrpc: "https://my-service.url:port" # Reverse proxy for rTorrent's XML-RPC.
rateInterval: 5000 # Interval for updating the download and upload rates. autoUpdateInterval: 5000 # Interval for updating the download, upload rates & torrent count.
torrentInterval: 60000 # Interval for updating the torrent count.
username: "username" # Username for logging into rTorrent (if applicable). username: "username" # Username for logging into rTorrent (if applicable).
password: "password" # Password for logging into rTorrent (if applicable). password: "password" # Password for logging into rTorrent (if applicable).
``` ```
@@ -684,7 +683,7 @@ Displays the number of currently active downloads on your SABnzbd instance.
logo: "assets/tools/sample.png" logo: "assets/tools/sample.png"
url: https://my-service.url url: https://my-service.url
apikey: "<---insert-api-key-here--->" apikey: "<---insert-api-key-here--->"
downloadInterval: 5000 # (Optional) Interval (in ms) for updating the download count autoUpdateInterval: 5000 # (Optional) Interval (in ms) for updating the download count
``` ```
**API Key**: An API key is required, and can be obtained from the "Config" > "General" section of the SABnzbd config in the web UI. **API Key**: An API key is required, and can be obtained from the "Config" > "General" section of the SABnzbd config in the web UI.
@@ -698,7 +697,7 @@ Displays info about the total number of disk passed and failed S.M.A.R.T and scr
type: "Scrutiny" type: "Scrutiny"
logo: "assets/tools/sample.png" logo: "assets/tools/sample.png"
url: https://my-service.url url: https://my-service.url
updateInterval: 5000 # (Optional) Interval (in ms) for updating the status autoUpdateInterval: 5000 # (Optional) Interval (in ms) for updating the status
``` ```
## SpeedtestTracker ## SpeedtestTracker
@@ -721,7 +720,7 @@ Displays the number of currently active streams on you Plex instance.
type: "Tautulli" type: "Tautulli"
logo: "assets/tools/sample.png" logo: "assets/tools/sample.png"
url: https://my-service.url url: https://my-service.url
checkInterval: 5000 # (Optional) Interval (in ms) for updating the status autoUpdateInterval: 5000 # (Optional) Interval (in ms) for updating the status
apikey: "<---insert-api-key-here--->" apikey: "<---insert-api-key-here--->"
``` ```
@@ -749,7 +748,7 @@ Displays the number of currently queued items for transcoding on your Tdarr inst
type: "Tdarr" type: "Tdarr"
logo: "assets/tools/sample.png" logo: "assets/tools/sample.png"
url: https://my-service.url url: https://my-service.url
checkInterval: 5000 # (Optional) Interval (in ms) for updating the queue & error counts autoUpdateInterval: 5000 # (Optional) Interval (in ms) for updating the queue & error counts
``` ```
## Traefik ## Traefik
@@ -777,7 +776,7 @@ The service communicates with the Transmission RPC interface which needs to be a
url: "http://192.168.1.2:9091" # Your Transmission web interface URL url: "http://192.168.1.2:9091" # Your Transmission web interface URL
type: "Transmission" type: "Transmission"
auth: "username:password" # Optional: HTTP Basic Auth auth: "username:password" # Optional: HTTP Basic Auth
interval: 5000 # Optional: Interval for refreshing data (ms) autoUpdateInterval: 5000 # Optional: Interval for refreshing data (ms)
target: "_blank" # Optional: HTML a tag target attribute target: "_blank" # Optional: HTML a tag target attribute
``` ```

View File

@@ -18,8 +18,7 @@
</p> </p>
</template> </template>
<template #indicator> <template #indicator>
<span v-if="!error" class="count" <span v-if="!error" class="count">{{ count || 0 }}
>{{ count || 0 }}
<template v-if="(count || 0) === 1">torrent</template> <template v-if="(count || 0) === 1">torrent</template>
<template v-else>torrents</template> <template v-else>torrents</template>
</span> </span>
@@ -69,12 +68,8 @@ export default {
}, },
}, },
created() { created() {
const interval = parseInt(this.item.interval, 10) || 0; // Set up auto-update method for the scheduler
this.autoUpdateMethod = this.getStats;
// Set up interval if configured
if (interval > 0) {
setInterval(() => this.getStats(), interval);
}
// Initial fetch // Initial fetch
this.getStats(); this.getStats();

View File

@@ -106,6 +106,7 @@ export default {
// Check for deprecated keys and warn users // Check for deprecated keys and warn users
const deprecatedKeys = [ const deprecatedKeys = [
"interval",
"updateInterval", "updateInterval",
"checkInterval", "checkInterval",
"localCheckInterval", "localCheckInterval",