Automatisering met een knipoog: een kijkje in de N8N Workflows
Afgelopen week heb ik gewerkt aan het automatiseren van het schrijven van het maandelijkse weeroverzicht. Elke maand moet ik een python script draaien waarna ik de informatie (tabellen, grafieken) verwerk in een blogbericht. Vier dingen wil ik automatiseren:
- het opvragen en opslaan van de maanddata bij weather.com en enlighten.enphaseenergy.com;
- het bewerken in python naar tabellen en grafieken;
- het opstellen van het begeleidende maandbericht;
- het uploaden en publiceren in WordPress.
In dit bericht beschrijf ik de workflows en hoe deze in N8N zijn opgebouwd. Deze workflows zijn niet alleen handig, maar ze werken samen als een goed geolied team, waarbij de ene workflow de andere een duwtje in de rug geeft. Laten we eens kijken dat werkt.
Workflow 1: Tokens Vernieuwen
De Webhook Trigger
Onze workflow begint met een webhook die wordt getriggerd door een maandelijkse cronjob op mijn NAS DS923. Dit is als een wekker die je eraan herinnert dat het tijd is om je maandelijkse weerrapport te maken. De webhook ontvangt een signaal en start de workflow. Eerst gaan we na of de toegangstokens (access tokens) voor het benaderen van de API’s nog geldig zijn.
Er zijn twee API’s die de gewenste data aanleveren. Eén API betreft weather.com die de weerdata heeft van mijn weerstation P41_Ermelo met de code IERMEL28. Deze API ‘doet niet zo moeilijk’ en vertrouwt de ophaler van data wanneer deze zich identificeert met de API-sleutel. Lastiger ligt het bij de Enlighten API die de zonne-energie data levert van mijn Enphase zonnepanelen. Daarvoor is een ingewikkeld proces van autorisatie en authenticatie benodigd. De webhook trigger start het proces op om de geldigheid van de access token van Enlighten te controleren zodat er later in de workflow geen problemen zijn bij het opvragen van de data.
Het verkrijgen van een access token
We sturen een verzoek naar de API van Enlighten met de access token die we ophalen uit een PostgreSQL-database waarin de eerdere access tokens en refresh tokens bewaard zijn. Het is te vergelijken met een geheime handdruk die je toegang geeft tot de informatie. Als de access token niet meer geldig blijkt te zijn, wordt met behulp van de refresh token een nieuwe access token opgevraagd bij de API.
Het opslaan van de tokens
Deze nieuwe access token wordt samen met het tegelijkertijd ook ontvangen nieuwe refresh token opgeslagen in de database. De geheime sleutels worden veilig opgeborgen in de kluis, voor later gebruik wanneer opnieuw moet worden gecontroleerd.
Workflow 2: Maandoverzicht van het Weer
Het ophalen van weergegevens
Vervolgens halen we de weergegevens op met behulp van een SSH-node. Deze node voert een shell-script uit op de NAS die een python-script initieert voor het opvragen van de gegevens bij de API’s. De data worden verwerkt naar tabellen, figuren en andere informatie voor het te publiceren maandbericht.
Het verwerken van de data
Zodra we de gegevens hebben, is het tijd om ze te verwerken. We gebruiken een reeks nodes om de gegevens te parsen, tabellen te maken en afbeeldingen toe te voegen. Deze zijn de basisingrediënten voor een mooi weerrapport met grafieken en afbeeldingen, zodat het er niet alleen informatief uitziet, maar ook aantrekkelijk. Voor de tekst van het bericht maken we gebruik van het LLM-taalmodel Gemma3. Dat is goed te verhapstukken door de NAS (bewerkingstijd ca. 3 min).
Het uploaden naar WordPress
Ten slotte uploaden we het rapport naar WordPress. We gebruiken een http request-node om het rapport te uploaden en een WordPress-node om het bericht te publiceren.
Hoe de Workflows Samenwerken
De eerste workflow, “Tokens Vernieuwen”, zorgt ervoor dat we altijd een geldig access token hebben. Dit token wordt gebruikt door de tweede workflow, “Maandoverzicht van het Weer”, om toegang te krijgen tot de benodigde gegevens.
Zodra de webhook in de tweede workflow wordt getriggerd, gebruikt deze het toegangstoken dat door de eerste workflow is vernieuwd om de weergegevens op te halen. Het is alsof de eerste workflow een sleutel aanreikt aan de tweede workflow, zodat deze de deur naar de gegevens kan openen.


Conclusie
Automatisering hoeft niet saai te zijn. Met N8N kunnen we workflows maken die niet alleen handig zijn, maar ook samenwerken als een goed team. Of je nu access tokens vernieuwt of weergegevens verwerkt, N8N maakt het mogelijk om snel te automatiseren. De configuratie is op verzoek beschikbaar.
Het is handig, snel en gebruiksvriendelijk. Niet meer zelf scripts aan elkaar sleutelen, maar laat het doen door de N8N workflow automatisering.