Oznámení
Amazon Web Services (AWS)
Integrace AWS umožní RichPear Home odesílat oznámení do služeb Amazon Web Services. Podporuje vyvolání Lambda funkce, publikování do SNS, vložení zprávy do SQS a odeslání události do EventBridge.
- Doména
aws- Typ
- platforma oznámení
- Komunikace
- cloud-push
- Nastavení
configuration.yaml
Připravte vlastní AWS účet a přístupy
Pro použití potřebujete vlastní AWS účet a přístupové údaje s oprávněním k vybrané službě. AWS nabízí vybrané bezplatné limity, ale provoz může být zpoplatněn, když limity překročíte nebo zapnete placenou službu. Sledujte proto AWS Billing a nastavte si rozpočtová upozornění.
RichPear Home používá stejný způsob přihlášení jako AWS CLI. Můžete zadat dvojici aws_access_key_id a aws_secret_access_key, nebo odkázat na profil přes profile_name. Nepoužívejte cizí účty, sdílené klíče ani tokeny stažené z internetu.
Podporované cíle oznámení
lambdapro vyvolání Lambda funkce.snspro publikování do SNS tématu nebo endpointu.sqspro poslání zprávy do SQS fronty.eventspro poslání události do EventBridge.
Přidejte AWS do configuration.yaml
Integrace se nastavuje ručně v souboru configuration.yaml. Nejprve definujte jednu nebo více sad přístupových údajů v části credentials. Každá sada má vlastní name, na které se potom odkazují jednotlivá oznámení.
Volba validate je ve výchozím stavu zapnutá a při startu ověřuje přístup přes IAM.GetUser. Pokud klíč nemá toto oprávnění, nastavte validate: false a povolte mu jen akce, které opravdu používáte.
Základní příklad
aws:
credentials:
- name: domaci_aws
aws_access_key_id: AWS_ID
aws_secret_access_key: AWS_SECRET
notify:
- service: lambda
region_name: us-east-1
credential_name: domaci_aws
name: aws_lambda
- service: events
region_name: us-east-1
credential_name: domaci_aws
name: aws_events
Nastavte oznámení
V části notify vyberte hodnotu service. Povinný je také region_name, například us-east-1. Oznámení může použít přístupové údaje z credentials, vlastní dvojici klíčů, AWS profil, nebo výchozí profil uložený v ~/.aws.
Volba name určuje název akce ve tvaru notify.NAZEV. Pokud ji nezadáte, použije se výchozí název notify.
Důležité volby
service:lambda,sns,sqsneboevents.region_name: region AWS, napříkladus-east-1.credential_name: odkaz na sadu přístupových údajů z částicredentials.context: volitelný slovník, který se předá pouze Lambda handleru.
Posílejte zprávy do AWS služeb
Po uložení změn restartujte RichPear Home a použijte odpovídající akci notify. U Lambda může být target název funkce, celý ARN nebo částečný ARN. U SNS se používá ARN tématu nebo endpointu. U SQS se zadává URL fronty.
Payload může obsahovat title, message, target a volitelná data. Lambda dostane celý payload jako JSON. SNS použije title jako subject a položky z data předá jako message attributes. SQS odešle JSON zprávu a atributy zprávy.
EventBridge používá jako target název event busu; když target vynecháte, odešle událost do výchozího event busu. Detail události se bere z data.detail, jinak se vytvoří jednoduchý detail z hodnoty message.
Příklad Lambda oznámení
action: notify.aws_lambda
data:
title: "RichPear Home"
message: "Senzor detekoval problém."
target: "arn:aws:lambda:us-east-1:123456789012:function:ProcessHomeEvent"
data:
source: "richpear"
severity: "warning"
Příklad EventBridge události
action: notify.aws_events
data:
message: "Automatizace odeslala událost."
target:
- "richpear-events"
data:
source: "richpear"
detail_type: "richpear_event"
detail:
room: "technicka"
severity: "info"
Omezte oprávnění a sledujte provoz
Pro RichPear Home vytvořte samostatného IAM uživatele nebo roli s nejmenším nutným oprávněním. Pokud používáte jen SNS, nedávejte stejnému klíči přístup k Lambda, SQS ani EventBridge.
U integrace, která může spouštět Lambda funkce nebo publikovat zprávy, sledujte AWS logy i účtování. Chybně nastavená automatizace může vytvořit velké množství událostí.
Lokální adresa systému
RichPear Home se v domácí síti běžně otevírá na http://rphome.local:8123. Pokud tato adresa v dané síti neodpoví, použijte http://IP-ADRESA:8123.