Behöver ert företag hjälp med att implementera AI? Kontakta oss och få prisoffert här →
AI Skolan
januari 22, 2026

OpenWeatherMap till Google Sheets: smartare bevattning

Rickard Andersson Partner, Nodenordic.se

Du skulle “bara vattna trädgården”, och plötsligt handlar det om att kolla tre väderappar, gissa jordfukt och hoppas att du inte dränker allt precis innan ett oväder. Det är repetitivt. Det är lätt att glömma. Och det är precis den typen av uppgift som i tysthet äter tid hela säsongen.

Anläggningsteam känner av det när de hanterar flera fastigheter. Fastighetsförvaltare märker det när hyresgäster klagar på bruna fläckar eller genomblöta rabatter. Och om du driver en mindre gård eller ett växthus kan automatiserad bevattningsplanering vara skillnaden mellan “helt okej” och konsekvent friska plantor.

Det här n8n-flödet använder OpenWeatherMap-prognoser plus enkel evapotranspirationsmatematik för att avgöra när du ska vattna, vilka zoner som behöver åtgärd och vad som ska hoppas över. Du får se hur det fungerar, vad du behöver och hur mycket tid (och vatten) det vanligtvis sparar.

så fungerar automatiseringen

Hela n8n-flödet, från trigger till slutresultat:

n8n Workflow Template: OpenWeatherMap till Google Sheets: smartare bevattning

problemet: bevattningsbeslut blir gissningar i större skala

Vattning låter enkelt tills du ansvarar för mer än en zon, rabatt eller fastighet. En grönsaksbädd torkar snabbare än buskarna. Gräsmattan kräver jämnhet. Och vädret ändrar planen varje dag. Gör du detta manuellt hoppar du mellan prognoser, anteckningar, senaste vattningsdatum och “magkänsla”, och ändå tvivlar du eftersom regn kan komma i kväll. Kostnaden är inte bara vatten. Det är tiden du lägger på att bestämma, missade bevattningsfönster och den långsamma skadan från övervattning som är svår att felsöka.

Friktionen ökar, särskilt när du försöker hålla en jämn linje mellan zoner.

  • Att kontrollera aktuella förhållanden och en 5‑dygnsprognos för varje zon tar längre tid än någon budgeterar för, så det blir stressat.
  • Folk glömmer detaljen “dagar sedan senaste vattning”, vilket är så du hamnar i att vattna två gånger på tre dagar.
  • Regn är utlovat, du hoppar över vattning, och sedan kommer inget, så växterna tappar en dag och stress byggs upp.
  • Även när du gör rätt val finns det ingen strukturerad logg, så du kan inte förbättra planen vecka för vecka.

lösningen: väderstyrda bevattningsplaner loggas och delas automatiskt

Det här flödet gör bevattning till en repeterbar daglig kontroll som körs på schema eller via manuell override. Det börjar med att ladda dina bevattningszoner (var och en med växttyp, jordtyp och enkla tröskelvärden). För varje zon hämtar det OpenWeatherMap live-data och en 5‑dygnsprognos och slår ihop dessa till en “väderbild per zon”. Därefter uppskattar ett Code-steg vattenförlust med en förenklad Penman-ansats för evapotranspiration och väger in dagar sedan senaste vattning. Sedan avgör flödet vilka zoner som faktiskt behöver vatten, hur brådskande behovet är och när det är bäst att köra bevattning utifrån temperatur och vind. Till sist loggar det beslutet i Google Sheets, postar en tydlig sammanfattning i Slack och kan skicka IoT-kommandon till smarta styrningar så att ventiler körs utan att någon behöver passa det.

Flödet startar med en morgontrigger i schemat (eller en webhook för manuell override). Det utvärderar zoner i en loop, filtrerar ner till endast zoner som är “bevattningsklara”, och bygger sedan en gemensam bevattningsplan. Finns det åtgärder loggar det, notifierar och triggar valfritt din styrning; finns det inte, registrerar det en post utan åtgärd och svarar snyggt.

det du får: automatisering vs. resultat

exempel: så här ser det ut

Säg att du hanterar 8 bevattningszoner på en fastighet. Manuellt kanske du lägger cirka 5 minuter per zon på att kolla väder, titta i anteckningar och bestämma timing, vilket är ungefär 40 minuter varje morgon. Med det här flödet lägger du cirka 3 minuter om du vill trigga en manuell override, och sedan väntar du medan n8n hämtar prognosen, utvärderar zoner och postar planen i Slack. Beslutet och loggen hamnar automatiskt i Google Sheets, och om du använder en IoT-styrning kan ventilerna köras utan extra klick.

det här behöver du

  • n8n-instans (prova n8n Cloud gratis)
  • alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
  • OpenWeatherMap för aktuellt väder och prognoser.
  • Google Sheets för att logga scheman och beslut.
  • Slack för att dela den dagliga bevattningssammanfattningen.
  • OpenWeatherMap API-nyckel (hämta den från kontrollpanelen i ditt OpenWeatherMap-konto).
  • Slack Bot Token (skapa den i inställningarna för din Slack-app).

Svårighetsgrad: Mellan. Du klistrar mest in inloggningsuppgifter och justerar zoninställningar, men du bör vara bekväm med att testköra och finjustera ett par Code-noder.

Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).

så fungerar det

En daglig trigger (plus manuell override) startar körningen. Flödet drar igång varje morgon via ett schema, men du kan också trigga det via en webhook när du vill göra en extra kontroll utanför schemat.

Dina zoner definieras en gång och bearbetas sedan i en loop. n8n laddar dina bevattningsytor (jordtyp, växttyp, tröskelvärden, koordinater) och delar upp dem så att varje zon utvärderas på samma sätt, varje gång.

OpenWeatherMap-data samlas in och slås ihop per zon. Det hämtar liveförhållanden och en 5‑dygnsprognos och sammanfogar resultaten så att beslutslogiken kan ta hänsyn till både “just nu” och “det som kommer”.

Beslutslogiken bygger en plan och routar sedan utfall. Code beräknar evapotranspiration och uppskattar fukt, Filter behåller bara zoner som behöver vattnas och en If-kontroll väljer mellan “åtgärder finns” och “ingen åtgärd”. Om åtgärder finns körs loggning i Google Sheets, postning i Slack och valfria IoT-kommandon. Om inte sätts en post utan åtgärd och webhook-svaret returneras.

Du kan enkelt ändra zontrösklar så att de matchar dina växter, eller byta ut Slack mot Telegram om det är där teamet faktiskt läser aviseringar. Se hela implementationsguiden nedan för anpassningsalternativ.

Steg-för-steg-implementeringsguide

Steg 1: Konfigurera schematriggern

Ställ in den dagliga triggern och valfri manuell åsidosättning som startar flödet för bevattningsplanering.

  1. Öppna Morning Schedule Trigger och ställ in schemaregeln så att den triggar kl. 06:00 (noden använder redan triggerAtHour: 6).
  2. Öppna Manual Override Webhook och bekräfta att HTTP Method är POST, Path är irrigation-check och Response Mode är responseNode.
  3. Säkerställ att Combine Start Signals är inställd på Mode chooseBranch så att någon av triggrarna kan starta arbetsflödet.

Steg 2: Anslut väderdatakällor

Konfigurera väderuppslag per bevattningszon och bekräfta det parallella flödet för att hämta väder.

  1. I Set Watering Areas, behåll Mode som raw och JSON Output inställd på den angivna zonlistan. Uppdatera zonnamn, koordinater, växttyper och lastWatered-värden vid behov.
  2. I Expand Zone List, ställ in Field to Split Out till = för att dela upp den råa arrayen i items.
  3. I Fetch Live Weather, ställ in Latitude till ={{ $json.lat }} och Longitude till ={{ $json.lon }}, med Location Selection inställd på coordinates.
  4. I Retrieve 5-Day Outlook, ställ in Operation till 5DayForecast och ställ in Latitude till ={{ $json.lat }} och Longitude till ={{ $json.lon }} med Location Selection coordinates.
  5. Expand Zone List skickar output till både Fetch Live Weather och Retrieve 5-Day Outlook parallellt, och båda slås ihop i Join Weather Streams med Mode combine och Combine By combineByPosition.

Inloggningsuppgifter krävs: Anslut era OpenWeatherMap API-inloggningsuppgifter i Fetch Live Weather och Retrieve 5-Day Outlook. Dessa noder kräver API-åtkomst även om inloggningsuppgifter inte är förkonfigurerade.

Steg 3: Sätt upp bearbetning och beslutlogik

Bearbeta väderindata för att beräkna vattenbehov, filtrera resultaten och bygga bevattningsplanen.

  1. I Assess Watering Demand, behåll JavaScript-logiken som den är för att beräkna jordfuktighet, förväntad nederbörd och bevattningsbeslut med zonmetadata från Expand Zone List.
  2. I Filter Water-Ready Zones, bekräfta att villkoret kontrollerar att ={{ $json.decision.shouldWater }} är lika med true.
  3. Assess Watering Demand skickar output till både Filter Water-Ready Zones och Aggregate Zone Reports parallellt; säkerställ att båda anslutningarna finns.
  4. I Aggregate Zone Reports, ställ in Aggregate till aggregateAllItemData för att fånga full zonstatus.
  5. I Build Irrigation Plan, behåll JavaScript-logiken för att skapa schema, sammanfattning och rapport baserat på de filtrerade zonerna och den aggregerade rapporten.

⚠️ Vanlig fallgrop: Om ni uppdaterar schemat i Set Watering Areas, säkerställ att fältnamnen fortfarande matchar vad Assess Watering Demand förväntar sig (t.ex. plantType, lastWatered).

Steg 4: Konfigurera utdata och notifieringar

Routa bevattningsplanen till loggar, IoT-hårdvara och Slack, och returnera ett webhook-svar.

  1. I Check Irrigation Tasks, bekräfta att villkoret kontrollerar att ={{ $json.hasIrrigation }} är lika med true för att förgrena mellan åtgärd och ingen-åtgärd.
  2. Check Irrigation Tasks skickar output till Append Sheet Log, Dispatch IoT Commands och Post Slack Summary parallellt när bevattning krävs.
  3. I Append Sheet Log, ställ in Operation till append och välj mål-Document och Sheet där loggar ska lagras.
  4. I Dispatch IoT Commands, ställ in URL till https://your-iot-hub.com/api/irrigation, Method till POST och JSON Body till ={{ JSON.stringify($json.schedule) }}.
  5. I Post Slack Summary, ställ in Text till ={{ $json.report }} och välj Slack-kanalen.
  6. I grenen utan åtgärd, bekräfta att Set No-Action Record tilldelar status No irrigation needed och timestamp ={{ $now.toISO() }}, och att flödet därefter går till Return Webhook Response.
  7. I Return Webhook Response, behåll Respond With json och Response Body inställd på ={{ {success: true, schedule: $json.schedule, summary: $json.summary} }}.

Inloggningsuppgifter krävs: Anslut era Google Sheets-inloggningsuppgifter i Append Sheet Log.

Inloggningsuppgifter krävs: Anslut era Slack-inloggningsuppgifter i Post Slack Summary.

Steg 5: Testa och aktivera ert arbetsflöde

Validera hela flödet med en manuell körning och aktivera därefter schemalagd exekvering.

  1. Klicka på Execute Workflow för att köra ett manuellt test och kontrollera att Build Irrigation Plan returnerar en ifylld schedule, summary och report.
  2. Trigga Manual Override Webhook med en POST-begäran till /webhook/irrigation-check och bekräfta att Return Webhook Response returnerar JSON med success: true.
  3. Bekräfta att lyckade körningar lägger till rader i Append Sheet Log, skickar IoT-payloads i Dispatch IoT Commands och postar sammanfattningar via Post Slack Summary.
  4. Aktivera arbetsflödet för att aktivera det dagliga schemat i Morning Schedule Trigger.
🔒

Lås upp fullständig steg-för-steg-guide

Få den kompletta implementeringsguiden + nedladdningsbar mall

vanliga fallgropar

  • OpenWeatherMap-inloggningar kan gå ut eller vara kopplade till fel abonnemangsnivå. Om anrop misslyckas, kontrollera först status för din OpenWeatherMap API-nyckel i kontrollpanelen för kontot.
  • Om du använder Wait-noder eller extern körning via styrsystem varierar processningstiderna. Öka väntetiden om nedströms noder fallerar på tomma svar.
  • Slack Bot Tokens ser ofta “anslutna” ut men saknar ändå kanalåtkomst. Om inget postas, kontrollera Slack-appens OAuth-scopes och bekräfta att boten är inbjuden till kanalen du konfigurerat.

vanliga frågor

Hur lång tid tar det att sätta upp den här automatiseringen för bevattningsplanering?

Cirka en timme om du redan har din zonlista och konton redo.

Behöver jag programmeringskunskaper för att automatisera bevattningsplanering?

Nej. Du kopplar konton och redigerar zoninställningar. Code-noderna är redan byggda; du justerar främst tröskelvärden och testar.

Är n8n gratis att använda för det här flödet för automatiserad bevattningsplanering?

Ja. n8n har ett gratis alternativ för egen drift och en gratis provperiod på n8n Cloud. Cloud-planer startar på 20 USD/månad för högre volym. Du behöver även räkna med kostnader för OpenWeatherMap-abonnemang (ofta gratis eller låg kostnad, beroende på användning) och eventuella avgifter för valfri IoT-plattform.

Var kan jag hosta n8n för att köra den här automatiseringen?

Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen drift på en VPS. För egen drift är Hostinger VPS prisvärt och hanterar n8n bra. Egen drift ger dig obegränsade körningar men kräver grundläggande serverhantering.

Kan jag anpassa det här flödet för automatiserad bevattningsplanering för olika växttyper och jord?

Ja, och det bör du. Uppdatera zondefinitionerna i “Set Watering Areas” (växttyp, jordtyp, waterThreshold, last-watered-input), och justera sedan beslutslogiken i “Assess Watering Demand” och “Build Irrigation Plan” om du vill ha andra regler för brådska. Vanliga anpassningar är att ändra tröskeln för att hoppa över vid regn (standard är att hoppa över när regn på ett meningsfullt sätt förväntas), lägga till zon-specifika bevattningsfönster och posta sammanfattningen till en annan Slack-kanal per fastighet.

Varför fungerar inte min OpenWeatherMap-anslutning i det här flödet?

Oftast är det ett problem med API-nyckeln eller att anropet slår i en planbegränsning. Skapa en ny OpenWeatherMap-nyckel, bekräfta att den är aktiv och uppdatera den i OpenWeatherMap-noderna i n8n. Kontrollera också att dina zonkoordinater är giltiga; en enda felaktig plats kan se ut som att “integrationen ligger nere”. Om du kör många zoner samtidigt kan du även få rate limiting, så det hjälper att glesa ut anropen lite (eller batcha dem).

Hur många zoner klarar den här automatiseringen för bevattningsplanering?

Dussintals zoner fungerar bra för de flesta upplägg.

Är den här automatiseringen för bevattningsplanering bättre än att använda Zapier eller Make?

Ofta, ja, eftersom det här flödet bygger på förgreningar, loopar över zoner, sammanslagning av flera väderhämtningar och beräkningar i Code, vilket brukar bli både krångligt (och dyrt) i verktyg som är byggda för enkla tvåstegs-zaps. n8n låter dig också köra egen drift, vilket spelar roll när du vill att det ska “köras varje morgon för alltid” utan att bevaka task counts. En annan praktisk fördel: du kan ha en webhook för manuell override och en schemalagd trigger i samma flöde och sedan slå ihop dem snyggt. Zapier eller Make kan fortfarande vara toppen om du bara vill “skicka mig en prognos”, men för beslut över flera zoner är n8n oftast det lugnare valet. Om du är osäker, prata med en automationsexpert så mappar vi det mot din miljö.

När det här väl rullar försvinner den dagliga “ska vi vattna?”-diskussionen till stor del. Du får en plan, en logg och ett meddelande som teamet kan agera på.

Kontakta oss

Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.

×

Använd mall

Få direkt tillgång till denna n8n-arbetsflödes JSON-fil

Launch login modal Launch register modal