Webhook: en ekstern tjeneste sender HTTP POST til en Home Assistant webhook-URL og utløser en automasjon

Webhook

En webhook er en URL Home Assistant tilbyr for å motta innkommende HTTP-forespørsler fra eksterne tjenester. Der de fleste HA-integrasjoner henter data fra eksterne kilder på et fast intervall – poller et API hvert 30. sekund, for eksempel – snur en webhook flyten: den eksterne tjenesten dytter data til Home Assistant i det øyeblikket noe skjer, ved å sende en HTTP POST-forespørsel til webhook-URL-en. Resultatet er sanntids, hendelsesdrevet integrasjon uten forsinkelsen og ineffektiviteten ved polling.

Webhook: en ekstern tjeneste sender HTTP POST til en Home Assistant webhook-URL og utløser en automasjon

I Home Assistant er webhooks en utløsertype i automasjonseditoren. Når du lager en webhook-utløser, genererer Home Assistant en unik URL – typisk på formen https://din-instans/api/webhook/[tilfeldig-id] – som du limer inn i den eksterne tjenestens innstillinger. Fra da av, hver gang tjenesten utløser hendelsen sin, sender den en HTTP-forespørsel til den URL-en, og Home Assistant starter automasjonen umiddelbart. Forespørselen kan bære en JSON-pakke med data, som Home Assistant gjør tilgjengelig som mal-variabler i automasjonen – slik at den kan handle på de konkrete verdiene, ikke bare på at en forespørsel kom.

Webhooks er særlig nyttige for å koble til tjenester uten en egen HA-integrasjon. IFTTT, Zapier, GitHub, Shopify og hundrevis av andre plattformer støtter utgående webhooks som standard – de kan altså utløse HA-automasjoner uten egen kode eller dedikert integrasjon. Mer avanserte bruksområder er å motta data fra egne skript, mikrokontrollere med ESPHome eller egen fastvare, eller andre automasjonssystemer som må sende hendelser inn i Home Assistant uten å dele samme nett.

Proff-tips: Hold webhook-URL-en privat og bruk tillatte verter
En webhook-URL er i praksis et passord – alle som kjenner den, kan utløse automasjonen din. Behandle den deretter: ikke del den offentlig, ikke legg den i et offentlig GitHub-repo, og bytt den ut hvis du mistenker at den er lekket. Home Assistant kan også begrense webhook-utløsere til forespørsler fra det lokale nettet – det tryggeste valget for webhooks som ikke trenger å utløses utenfra.

For toveis-integrasjoner – der Home Assistant både mottar og sender data til en ekstern tjeneste – passer webhooks naturlig sammen med HAs REST-API og varslingshandlinger. En webhook tar imot den innkommende utløseren; et tjenestekall til REST-API-et eller en varslingshandling sender svaret ut. Node-RED forenkler mønsteret videre med egne HTTP-inn- og ut-noder som håndterer forespørsel og svar i én flyt – enklere å bygge og feilsøke enn den tilsvarende YAML-automasjonen.

🏠 Visste du at: Begrepet «webhook» ble laget av utvikleren Jeff Lindsay i 2007 i et blogginnlegg som foreslo en standard måte for webapplikasjoner å varsle hverandre om hendelser i sanntid. Konseptet er eldre enn moderne API-er og ble først regnet som et obskurt utviklermønster – i dag er det en av de mest utbredte integrasjonsmekanismene i hele programvarebransjen, brukt av GitHub, Stripe, Slack og tusenvis av andre.

Relaterte artikler

No post found!

Kilder