Skip to content

n8n workflow automation collection: Thermik forecasts for glider pilots, Steam deals tracker, and more

Notifications You must be signed in to change notification settings

thecodingcortex/n8n-workflows

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌀️ Thermik-Vorhersage für Segelflieger

Automatisierte 3-Tages-Thermikprognose fΓΌr den Segelflugplatz EDXE mit n8n, meteoblue API und Dual-Channel-Versand (Email + Telegram).

πŸ“‹ Übersicht

Dieses Projekt automatisiert die tΓ€gliche Berechnung und Verteilung einer detaillierten Thermik-Vorhersage an Segelflieger. Jeden Morgen um 07:00 Uhr werden aktuelle Wetterdaten von der meteoblue API abgerufen, analysiert und als formatierte Email (Premium Dark Design) sowie als kompakte Telegram-Nachricht verschickt.

✨ Features

  • Automatischer Schedule: TΓ€gliche AusfΓΌhrung um 07:00 Uhr via Cron
  • PrΓ€zise Wetterdaten: meteoblue API mit stΓΌndlichen Daten fΓΌr 3 Tage
  • Thermik-Score: Intelligenter Algorithmus (0-5) basierend auf CAPE, BLH, BewΓΆlkung, Wind, Spread
  • Steigwerte-Berechnung: Physik-basierte Climb-Rate-Prognose (7-19 Uhr)
  • Phasen-Analyse: 4 Tagesabschnitte mit detaillierten Vorhersagen
    • Vormittag (08-12 Uhr)
    • FrΓΌher Nachmittag (12-15 Uhr)
    • SpΓ€ter Nachmittag (15-18 Uhr)
    • Abends (18-21 Uhr)
  • Wind-Analyse: Geschwindigkeit und Richtung pro Phase
  • Dual-Channel-Versand:
    • Email mit Premium Dark Design, Gradient-Badges und Steigwerte-Chart
    • Telegram mit kompakter HTML-Nachricht
  • Responsive Email-Layout: Perfekte Darstellung in allen Email-Clients

πŸš€ Tech-Stack

  • n8n (v1.115.3) – Workflow-Automation
  • meteoblue API – Wetterdaten (basic-1h, clouds-1h, air-1h packages)
  • JavaScript – Datenverarbeitung und Score-Algorithmus
  • Telegram Bot API – Push-Benachrichtigungen
  • SMTP (Gmail) – Email-Versand
  • Cron – Zeitgesteuerte AusfΓΌhrung

πŸ“‚ Projektstruktur

n8n workflows/
β”œβ”€β”€ thermik-vorhersage-edxe.json       # Haupt-Workflow (n8n Import-File)
β”œβ”€β”€ thermik-email-code.js              # Standalone Email-Generator Code
β”œβ”€β”€ thermik-premium-dark-code.js       # Premium Dark Theme Variante
└── README.md                          # Dieses File

πŸ”§ Installation & Setup

1. n8n Installation

npm install -g n8n
n8n start

2. Workflow importieren

  1. n8n ΓΆffnen (http://localhost:5678)
  2. "Import from File" wΓ€hlen
  3. thermik-vorhersage-edxe.json hochladen

3. Credentials konfigurieren

meteoblue API:

Telegram Bot:

  1. Bot erstellen: Mit @BotFather sprechen
  2. /newbot ausfΓΌhren und Namen vergeben
  3. API Token kopieren
  4. In n8n Credentials "Telegram API" anlegen
  5. Chat-ID ermitteln:
    curl https://api.telegram.org/bot<YOUR_TOKEN>/getUpdates
  6. Chat-ID im Workflow-Code anpassen (Zeile mit telegram_chat_id)

Gmail SMTP:

  1. Gmail App-Passwort erstellen (https://myaccount.google.com/apppasswords)
  2. In n8n Credentials "SMTP" anlegen:
    • Host: smtp.gmail.com
    • Port: 587
    • User: deine@gmail.com
    • Password: App-Passwort
  3. Sender- und EmpfΓ€nger-Email im Workflow anpassen

4. Standort anpassen

Im "Fetch Meteoblue API" Node die Koordinaten Γ€ndern:

lat: 52.2851  // Breitengrad deines Flugplatzes
lon: 7.44055  // LΓ€ngengrad deines Flugplatzes
asl: 41       // HΓΆhe ΓΌber Meeresspiegel (meters)

5. Workflow aktivieren

  • Schedule Trigger aktivieren (Toggle oben rechts)
  • Fertig! Der Workflow lΓ€uft ab jetzt tΓ€glich um 07:00 Uhr

πŸ“Š Datenverarbeitung

Thermik-Score-Algorithmus

Der Score (0-5) wird basierend auf folgenden Faktoren berechnet:

Faktoren (Punkte):
+ Sonnenschein β‰₯45 min/h: +2 | β‰₯20 min/h: +1 | ≀5 min/h: -1
+ BewΓΆlkung ≀20%: +1 | β‰₯85%: -1
+ Niederschlag >0 mm/h: -1 bis -2
+ BLH β‰₯1800m: +2 | β‰₯1200m: +1 | <600m: -1
+ CAPE 50-600 J/kg: +1 | >800 J/kg: -1
+ CIN <-50 J/kg: -1
+ Wind 2-6 m/s: +1 | >9 m/s: -1
+ Spread (T-Td) 6-12Β°C: +1 | <3Β°C: -1

Endergebnis: Clamp(0, 5)

Steigwerte-Berechnung (Physik-Modell)

w = 0.02 * sqrt(CAPE) + 0.6 * BLH_km + 0.3 * sunFrac
  - 0.8 * tccFrac - 0.5 * min(precip, 2.0) - max(0, wind-8) * 0.08

Clamp(0, 5.0) m/s

🎨 Email-Design

Das Email-Layout verwendet ein Dark Theme mit:

  • Gradient Header (Teal β†’ Blue)
  • 3-Spalten-Layout fΓΌr die 3 Tage
  • Score-Badges mit Gradient-HintergrΓΌnden
  • Steigwerte-Chart (horizontale Bars, 7-19 Uhr)
  • 4 Phase-BlΓΆcke pro Tag
  • Responsive Design (funktioniert in Gmail, Outlook, Apple Mail)

Wichtig fΓΌr Email-Client-KompatibilitΓ€t:

  • Tabellenbasiertes Layout (keine Flexbox/Grid)
  • Inline-Styles
  • Content-Padding mit &nbsp; fΓΌr gleichhohe Boxen

πŸ“± Telegram-Nachricht

Kompakte Text-Nachricht mit HTML-Formatierung:

🌀️ Thermik EDXE | 23.10. – 25.10.

🟑 Donnerstag, 24.10.
Score: 3/5 – Brauchbar
πŸ“Š Steigwerte: 12h=2.1m/s, 13h=2.3m/s

β˜€οΈ Vormittag (08–12 Uhr)
β€’ BewΓΆlkung 67 %, Schauer 0.6 mm/h, BLH ~0 km
β€’ 🌬️ Wind: ~5.3 m/s aus S
β€’ Thermik 1/5. Fetzen, selten zentrierbar.

...

πŸ” Workflow-Aufbau

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Schedule Trigger    β”‚  (TΓ€glich 07:00 Uhr)
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
           β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Fetch meteoblue API β”‚  (HTTP Request)
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
           β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Generate Email +    β”‚  (Code Node)
β”‚ Telegram            β”‚  β€’ Parse API Data
β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”˜  β€’ Calculate Scores
       β”‚          β”‚      β€’ Build HTML Email
       β”‚          β”‚      β€’ Format Telegram Text
       β”‚          β”‚
β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β” β”Œβ”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Send Email β”‚ β”‚ Send to   β”‚
β”‚            β”‚ β”‚ Telegram  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ› Troubleshooting

Email wird nicht versendet

  • Gmail SMTP Credentials prΓΌfen
  • 2FA aktiviert? β†’ App-Passwort verwenden
  • Port 587 (STARTTLS) oder 465 (SSL) prΓΌfen

Telegram-Bot antwortet nicht

  • Bot-Token korrekt?
  • Chat-ID korrekt ermittelt?
  • Bot zum Channel/Chat hinzugefΓΌgt?

Workflow-Fehler "Keine Meteoblue-Daten"

  • API-Key gΓΌltig und aktiv?
  • API-Kontingent noch verfΓΌgbar?
  • Response-Structure prΓΌfen (meteoblue Γ€ndert manchmal Field-Namen)

Boxen nicht gleich hoch in Email

  • PrΓΌfe maxLinesPerPhaseGlobal Berechnung
  • Stelle sicher, dass alle Phase-BlΓΆcke &nbsp;-Padding erhalten

πŸ“ˆ Performance

  • Execution Time: ~2-3 Sekunden
  • API Calls: 1x meteoblue pro Tag
  • Email Size: ~15-20 KB
  • Telegram Message: <1 KB

🚧 Roadmap / NÀchste Features

  • Interaktive Steigwerte-Charts (Chart.js)
  • Machine Learning fΓΌr Genauigkeitsverbesserung
  • Web-Dashboard mit Kartenvisualisierung
  • Alert-System bei Score β‰₯4
  • Streckenwetter-Optimierung
  • Multi-Location Support

πŸ“ Lizenz

MIT License – Feel free to use and modify for your glider club!

🀝 Contributions

Contributions, Issues und Feature-Requests sind willkommen!

Bei Fragen oder Problemen: GitHub Issues

πŸ‘¨β€πŸ’» Autor

The Coding Cortex Website: thecodingcortex.org Projekt-Seite: Thermik-Vorhersage Details


Erstellt mit ❀️ für Segelflieger

About

n8n workflow automation collection: Thermik forecasts for glider pilots, Steam deals tracker, and more

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published