Automatisierter Sonarr-Episoden-Finder für fehlende Folgen basierend auf Qualität und Sprache
Fortgeschritten
Dies ist ein Personal Productivity-Bereich Automatisierungsworkflow mit 10 Nodes. Hauptsächlich werden If, Set, Code, SplitOut, HttpRequest und andere Nodes verwendet. Automatisierter Sonarr fehlende Episoden-Finder mit Qualitätssprache
Voraussetzungen
- •Möglicherweise sind Ziel-API-Anmeldedaten erforderlich
Verwendete Nodes (10)
Kategorie
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
"meta": {
"instanceId": "524db9d6f45a6821f11407ee382e8ef798434d93ef64e0c8c3a108540b9322a6"
},
"nodes": [
{
"id": "b7575322-a8cd-48b1-8989-59e8c10f3fb3",
"name": "Info",
"type": "n8n-nodes-base.set",
"position": [
-220,
100
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "e03dba6d-c6c4-407b-b65b-15aacb8a4a32",
"name": "urlSonar",
"type": "string",
"value": "http://192.168.31.204:8989"
},
{
"id": "976f2fe4-2d27-43f7-8fba-5f992ab0894e",
"name": "apikey",
"type": "string",
"value": "j7oi8oiji7yih85765tg646ghft6ffd6"
},
{
"id": "00cdb214-7b97-4037-aca9-36569403b340",
"name": "quality",
"type": "string",
"value": "WEBDL-1080p"
},
{
"id": "01c442c9-3ecb-43b1-a112-3cd41c62b232",
"name": "languages",
"type": "string",
"value": "Portuguese (Brazil)"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "bdd74c08-4891-4c55-81a6-1da3c72e8ef5",
"name": "Felder bearbeiten",
"type": "n8n-nodes-base.set",
"position": [
220,
100
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "598bf523-e5f2-4976-9b66-35e2918d9bdd",
"name": "records",
"type": "array",
"value": "={{ $json.records }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "8b898b4a-8a53-48cc-8917-2c406e64c95f",
"name": "Aufteilen",
"type": "n8n-nodes-base.splitOut",
"position": [
440,
100
],
"parameters": {
"options": {},
"fieldToSplitOut": "records"
},
"typeVersion": 1
},
{
"id": "117443a3-7a83-4c50-a4af-693c11dd6e3c",
"name": "Zeitplan-Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-440,
100
],
"parameters": {
"rule": {
"interval": [
{
"field": "hours",
"hoursInterval": 12
}
]
}
},
"typeVersion": 1.2
},
{
"id": "55253fdd-9f78-428d-8fd4-d5f4b74c78ef",
"name": "Überschreiben und zur Download-Warteschlange hinzufügen",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueErrorOutput",
"maxTries": 3,
"position": [
1100,
-100
],
"parameters": {
"url": "={{ $('info').item.json.urlSonar }}/api/v3/release",
"method": "POST",
"options": {},
"jsonBody": "={{ \n JSON.stringify({\n indexerId: $('Loop Over Items').item.json.indexerId,\n guid: $('Loop Over Items').item.json.guid,\n seriesId: $('Loop Over Items').item.json.mappedSeriesId,\n episodeIds: $('Loop Over Items').item.json.mappedEpisodeInfo.map(e => e.id),\n quality: {\n quality: {\n id: $('Loop Over Items').item.json.quality.quality.id,\n name: $('Loop Over Items').item.json.quality.quality.name,\n source: $('Loop Over Items').item.json.quality.quality.source,\n resolution: $('Loop Over Items').item.json.quality.quality.resolution\n },\n revision: {\n version: $('Loop Over Items').item.json.quality.revision.version,\n real: $('Loop Over Items').item.json.quality.revision.real,\n isRepack: $('Loop Over Items').item.json.quality.revision.isRepack\n }\n },\n languages: [\n {\n id: $('Loop Over Items').item.json.languages[0].id,\n name: $('Loop Over Items').item.json.languages[0].name\n }\n ],\n downloadClientId: null,\n shouldOverride: true\n })\n}}\n",
"sendBody": true,
"sendQuery": true,
"specifyBody": "json",
"queryParameters": {
"parameters": [
{
"name": "apikey",
"value": "={{ $('info').item.json.apikey }}"
},
{}
]
}
},
"retryOnFail": true,
"typeVersion": 4.2,
"alwaysOutputData": false
},
{
"id": "da00208f-c5f7-4276-8c66-af5566e387ad",
"name": "Interaktive Suche für alle Folgen dieser Staffel",
"type": "n8n-nodes-base.httpRequest",
"position": [
1100,
100
],
"parameters": {
"url": "={{ $('info').item.json.urlSonar }}/api/v3/release",
"options": {},
"sendQuery": true,
"queryParameters": {
"parameters": [
{
"name": "seriesId",
"value": "={{ $('Split Out').item.json.seriesId }}"
},
{
"name": "seasonNumber",
"value": "={{ $('Split Out').item.json.seasonNumber }}"
},
{
"name": "apikey",
"value": "={{ $('info').item.json.apikey }}"
}
]
}
},
"executeOnce": true,
"notesInFlow": false,
"typeVersion": 4.2
},
{
"id": "df7c8bf5-ecc7-4af7-8668-6c47cc86bdf9",
"name": "Auf fehlende Folgen prüfen",
"type": "n8n-nodes-base.httpRequest",
"position": [
0,
100
],
"parameters": {
"url": "={{ $('info').item.json.urlSonar }}/api/v3/wanted/missing",
"options": {},
"sendQuery": true,
"sendHeaders": true,
"queryParameters": {
"parameters": [
{
"name": "page",
"value": "1"
},
{
"name": "pageSize",
"value": "100"
},
{
"name": "sortDirection",
"value": "descending"
},
{
"name": "includeSeries",
"value": "false"
},
{
"name": "includeImages",
"value": "false"
},
{
"name": "monitored",
"value": "true"
},
{
"name": "apikey",
"value": "={{ $('info').item.json.apikey }}"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "accept",
"value": "application/json"
}
]
}
},
"executeOnce": false,
"typeVersion": 4.2
},
{
"id": "971e172b-1961-41b3-ad0b-0936e7a2c591",
"name": "Qualitäts- und Sprachübereinstimmung validieren",
"type": "n8n-nodes-base.if",
"position": [
1320,
175
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "faa46e5b-40ef-4200-9827-50e7d7666f24",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.quality.quality.name }}",
"rightValue": "={{ $('info').item.json.quality }}"
},
{
"id": "6caeb8cc-f152-497b-9f6b-4a6526c3df00",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.languages[0].name }}",
"rightValue": "={{ $('info').item.json.languages }}"
}
]
}
},
"executeOnce": false,
"typeVersion": 2.2
},
{
"id": "7ef44e0f-65a9-4579-9599-de626165d022",
"name": "Serien filtern",
"type": "n8n-nodes-base.code",
"position": [
660,
100
],
"parameters": {
"jsCode": "const seenSeasons = new Set();\nconst uniqueItems = [];\n\nfor (const item of $input.all()) {\n const key = `${item.json.seriesId}-${item.json.seasonNumber}`;\n\n if (!seenSeasons.has(key)) {\n item.json.myNewField = 1;\n uniqueItems.push(item);\n seenSeasons.add(key);\n }\n}\n\nuniqueItems.sort((a, b) => {\n if (a.json.seriesId !== b.json.seriesId) {\n return a.json.seriesId - b.json.seriesId;\n }\n return a.json.seasonNumber - b.json.seasonNumber;\n});\n\nreturn uniqueItems;"
},
"typeVersion": 2
},
{
"id": "3bf70dc2-c110-44b8-a9b1-59c3f8ce7e01",
"name": "Über Elemente schleifen",
"type": "n8n-nodes-base.splitInBatches",
"position": [
880,
100
],
"parameters": {
"options": {}
},
"typeVersion": 3
}
],
"pinData": {},
"connections": {
"b7575322-a8cd-48b1-8989-59e8c10f3fb3": {
"main": [
[
{
"node": "df7c8bf5-ecc7-4af7-8668-6c47cc86bdf9",
"type": "main",
"index": 0
}
]
]
},
"8b898b4a-8a53-48cc-8917-2c406e64c95f": {
"main": [
[
{
"node": "7ef44e0f-65a9-4579-9599-de626165d022",
"type": "main",
"index": 0
}
]
]
},
"bdd74c08-4891-4c55-81a6-1da3c72e8ef5": {
"main": [
[
{
"node": "8b898b4a-8a53-48cc-8917-2c406e64c95f",
"type": "main",
"index": 0
}
]
]
},
"7ef44e0f-65a9-4579-9599-de626165d022": {
"main": [
[
{
"node": "3bf70dc2-c110-44b8-a9b1-59c3f8ce7e01",
"type": "main",
"index": 0
}
]
]
},
"3bf70dc2-c110-44b8-a9b1-59c3f8ce7e01": {
"main": [
[
{
"node": "55253fdd-9f78-428d-8fd4-d5f4b74c78ef",
"type": "main",
"index": 0
}
],
[
{
"node": "da00208f-c5f7-4276-8c66-af5566e387ad",
"type": "main",
"index": 0
}
]
]
},
"117443a3-7a83-4c50-a4af-693c11dd6e3c": {
"main": [
[
{
"node": "b7575322-a8cd-48b1-8989-59e8c10f3fb3",
"type": "main",
"index": 0
}
]
]
},
"df7c8bf5-ecc7-4af7-8668-6c47cc86bdf9": {
"main": [
[
{
"node": "bdd74c08-4891-4c55-81a6-1da3c72e8ef5",
"type": "main",
"index": 0
}
]
]
},
"55253fdd-9f78-428d-8fd4-d5f4b74c78ef": {
"main": [
[],
[]
]
},
"971e172b-1961-41b3-ad0b-0936e7a2c591": {
"main": [
[
{
"node": "3bf70dc2-c110-44b8-a9b1-59c3f8ce7e01",
"type": "main",
"index": 0
}
],
[]
]
},
"da00208f-c5f7-4276-8c66-af5566e387ad": {
"main": [
[
{
"node": "971e172b-1961-41b3-ad0b-0936e7a2c591",
"type": "main",
"index": 0
}
]
]
}
}
}Häufig gestellte Fragen
Wie verwende ich diesen Workflow?
Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.
Für welche Szenarien ist dieser Workflow geeignet?
Fortgeschritten - Persönliche Produktivität
Ist es kostenpflichtig?
Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.
Verwandte Workflows
LinkedIn Jobsuche
LinkedIn-Stellensuche: Automatisches Abgleich von Lebensläufen (GPT/Gemini) + Anschreibengenerator + Telegram-Benachrichtigungen
If
Set
Code
+
If
Set
Code
33 NodesHojjat Jashnniloofar
Persönliche Produktivität
Automatisierte Bewerbungsjagd von mehreren Jobbörsen
Automatisierung der Jobsuche und -Bewerbung mit 5 Jobplattformen und AI-Lebenslaufgenerator
If
Set
Code
+
If
Set
Code
34 NodesGerald Denor
Persönliche Produktivität
Automatisierte Jobsuche mit KI-generierten Anschreiben
Automatisierung der StellenSuche mit AI-Anschreiben mit Google Jobs, RemoteOK und GPT-3.5
If
Set
Code
+
If
Set
Code
17 NodesShelly-Ann Davy
Persönliche Produktivität
Automatisierte Jobsuche und Lebenslauf-Anpassung mit Mistral AI, LinkedIn und Google Sheets
Automatisierung der StellenSuche und -Lebenslaufanpassung mit Mistral AI, LinkedIn und Google Sheets
Set
Code
Html
+
Set
Code
Html
46 NodesJordan Hoyle
Persönliche Produktivität
Globale Feiertagskonflikte erkennen und Meetings neu planen
Feiertagskonflikte mit Google Calendar und Slack erkennen und Meeting-Umplanungen vorschlagen
If
Set
Code
+
If
Set
Code
23 NodesTakuya Ojima
Persönliche Produktivität
InhaltGenerator v3
If
Set
Code
+
If
Set
Code
144 NodesJay Emp0
Content-Erstellung
Workflow-Informationen
Schwierigkeitsgrad
Fortgeschritten
Anzahl der Nodes10
Kategorie1
Node-Typen7
Autor
Nícolas Pastorello
@opastorelloExterne Links
Auf n8n.io ansehen →
Diesen Workflow teilen