Sanitized mirror from private repository - 2026-04-19 08:15:48 UTC
Some checks failed
Documentation / Deploy to GitHub Pages (push) Has been cancelled
Documentation / Build Docusaurus (push) Has been cancelled

This commit is contained in:
Gitea Mirror Bot
2026-04-19 08:15:48 +00:00
commit 57b1fe47f2
1437 changed files with 363051 additions and 0 deletions

View File

@@ -0,0 +1,183 @@
# REST sensors for homelab services (Atlantis @ 100.83.230.112 via Tailscale)
#
# Service ports:
# sonarr 8989 /api/v3
# radarr 7878 /api/v3
# sabnzbd 8080 /sabnzbd/api (sb2 has integration — prefer it)
# bazarr 6767 /api
# lazylib 5299 /api
# abs 13378 /api
# prowlarr 9696 /api/v1
# -------- Sonarr --------
- platform: rest
name: Sonarr Queue
unique_id: homelab_rest_sonarr_queue
resource: "http://100.83.230.112:8989/api/v3/queue"
headers:
X-Api-Key: !secret sonarr_api_key
value_template: "{{ value_json.totalRecords | default(0) }}"
unit_of_measurement: items
scan_interval: 120
- platform: rest
name: Sonarr Missing
unique_id: homelab_rest_sonarr_missing
resource: "http://100.83.230.112:8989/api/v3/wanted/missing?page=1&pageSize=1"
headers:
X-Api-Key: !secret sonarr_api_key
value_template: "{{ value_json.totalRecords | default(0) }}"
unit_of_measurement: episodes
scan_interval: 600
- platform: rest
name: Sonarr Series
unique_id: homelab_rest_sonarr_series
resource: "http://100.83.230.112:8989/api/v3/series"
headers:
X-Api-Key: !secret sonarr_api_key
value_template: "{{ value_json | length }}"
unit_of_measurement: series
scan_interval: 3600
# -------- Radarr --------
- platform: rest
name: Radarr Queue
unique_id: homelab_rest_radarr_queue
resource: "http://100.83.230.112:7878/api/v3/queue"
headers:
X-Api-Key: !secret radarr_api_key
value_template: "{{ value_json.totalRecords | default(0) }}"
unit_of_measurement: items
scan_interval: 120
- platform: rest
name: Radarr Missing
unique_id: homelab_rest_radarr_missing
resource: "http://100.83.230.112:7878/api/v3/wanted/missing?page=1&pageSize=1"
headers:
X-Api-Key: !secret radarr_api_key
value_template: "{{ value_json.totalRecords | default(0) }}"
unit_of_measurement: movies
scan_interval: 600
- platform: rest
name: Radarr Movies
unique_id: homelab_rest_radarr_movies
resource: "http://100.83.230.112:7878/api/v3/movie"
headers:
X-Api-Key: !secret radarr_api_key
value_template: "{{ value_json | length }}"
unit_of_measurement: movies
scan_interval: 3600
# -------- Prowlarr --------
- platform: rest
name: Prowlarr Indexers
unique_id: homelab_rest_prowlarr_indexers
resource: "http://100.83.230.112:9696/api/v1/indexer"
headers:
X-Api-Key: !secret prowlarr_api_key
value_template: "{{ value_json | length }}"
unit_of_measurement: indexers
scan_interval: 3600
# -------- Bazarr --------
- platform: rest
name: Bazarr Badges
unique_id: homelab_rest_bazarr_badges
resource: "http://100.83.230.112:6767/api/badges"
headers:
X-Api-Key: !secret bazarr_api_key
value_template: "{{ (value_json.missing_subtitles_movies | default(0)) + (value_json.missing_subtitles_episodes | default(0)) }}"
unit_of_measurement: missing
json_attributes:
- missing_subtitles_episodes
- missing_subtitles_movies
- throttled_providers
scan_interval: 600
# -------- SABnzbd --------
- platform: rest
name: SABnzbd Queue Speed
unique_id: homelab_rest_sabnzbd_queue_speed
resource: "http://100.83.230.112:8080/api?output=json&apikey="REDACTED_API_KEY"&mode=queue"
value_template: "{{ value_json.queue.kbpersec | default(0) | float / 1024 | round(2) }}"
unit_of_measurement: MB/s
json_attributes_path: "$.queue"
json_attributes:
- status
- noofslots_total
- mbleft
- timeleft
- diskspace1
scan_interval: 60
- platform: rest
name: SABnzbd Queue Size
unique_id: homelab_rest_sabnzbd_queue_size
resource: "http://100.83.230.112:8080/api?output=json&apikey="REDACTED_API_KEY"&mode=queue"
value_template: "{{ value_json.queue.noofslots_total | default(0) }}"
unit_of_measurement: jobs
scan_interval: 60
# -------- LazyLibrarian --------
- platform: rest
name: LazyLibrarian Version
unique_id: homelab_rest_lazylibrarian_version
resource: "http://100.83.230.112:5299/api?apikey=REDACTED_LL_API_KEY&cmd=getVersion"
value_template: "{{ value_json.current_version | default('?') }}"
scan_interval: 86400
- platform: rest
name: LazyLibrarian Wanted Books
unique_id: homelab_rest_lazylibrarian_wanted_books
resource: "http://100.83.230.112:5299/api?apikey=REDACTED_LL_API_KEY&cmd=getWanted"
value_template: "{{ value_json.data | length if value_json.data is defined else 0 }}"
unit_of_measurement: books
scan_interval: 600
# -------- Audiobookshelf --------
- platform: rest
name: Audiobookshelf Libraries
unique_id: homelab_rest_audiobookshelf_libraries
resource: "http://100.83.230.112:13378/api/libraries"
headers:
Authorization: !secret audiobookshelf_api_key
value_template: "{{ value_json.libraries | length }}"
unit_of_measurement: libraries
scan_interval: 3600
- platform: rest
name: Audiobookshelf Ebooks
unique_id: homelab_rest_audiobookshelf_ebooks
resource: "http://100.83.230.112:13378/api/libraries/5af23ed3-f69d-479b-88bc-1c4911c99d2d/items?limit=1"
headers:
Authorization: !secret audiobookshelf_api_key
value_template: "{{ value_json.total | default(0) }}"
unit_of_measurement: items
scan_interval: 3600
- platform: rest
name: Audiobookshelf Audiobooks
unique_id: homelab_rest_audiobookshelf_audiobooks
resource: "http://100.83.230.112:13378/api/libraries/d36776eb-fe81-467f-8fee-19435ee2827b/items?limit=1"
headers:
Authorization: !secret audiobookshelf_api_key
value_template: "{{ value_json.total | default(0) }}"
unit_of_measurement: items
scan_interval: 3600
# -------- Plex (local) --------
# Use the official HA Plex integration for full media_player entities.
# This REST sensor is a fallback for library counts.
- platform: rest
name: Plex Sessions
unique_id: homelab_rest_plex_sessions
resource: "http://localhost:32400/status/sessions"
headers:
X-Plex-Token: !secret plex_token
Accept: application/json
value_template: "{{ value_json.MediaContainer.size | default(0) }}"
unit_of_measurement: playing
scan_interval: 30