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
01

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í

  1. lambda pro vyvolání Lambda funkce.
  2. sns pro publikování do SNS tématu nebo endpointu.
  3. sqs pro poslání zprávy do SQS fronty.
  4. events pro poslání události do EventBridge.
02

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
03

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

  1. service: lambda, sns, sqs nebo events.
  2. region_name: region AWS, například us-east-1.
  3. credential_name: odkaz na sadu přístupových údajů z části credentials.
  4. context: volitelný slovník, který se předá pouze Lambda handleru.
04

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"
05

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í.

URL

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.