Geavanceerde concepten¶
Basisconcepten bevat de korte versie en de afbeelding van hoe alles samenhangt. Deze pagina gaat dieper in op elk onderdeel, en veel ervan doet er pas toe als je Supernotify met YAML configureert.
Doel (Target)¶
- Wie of wat een melding krijgt, en hoe
- Directe doelen
- e-mailadres
- telefoonnummer
entity_idofdevice_id, bijvoorbeeld voor een omroepbericht via een Alexa-apparaat- een eigen ID voor een gespecialiseerd transport zoals Telegram
- Indirecte doelen, die in directe doelen kunnen worden omgezet
person_idom de Recipient-functies te gebruiken- de standaard doelselectie van Home Assistant,
label_id,floor_idenarea_id - groepsdoelen (zowel nieuwe als oude Home Assistant-groepen)
- Doelen kunnen een specifieke Doelcategorie krijgen, zoals
discord_channel:839439434; zie Categorievoorvoegsels - Elk doel wordt uit de lijst opgepakt door de integratie die het het best kan afhandelen
- Een Notify-entiteit van Alexa Devices wordt bijvoorbeeld afgehandeld door het Alexa Devices-transport, terwijl een algemene Notify-entiteit terugvalt op het minder uitgebreide Notify Entity-transport
- Zie Targets voor meer informatie
Ontvanger (Recipient)¶
- Een persoon, met optioneel e-mailadres, telefoonnummer, mobiele apparaten of eigen doelen
- Standaard automatisch gevonden uit de gebruikersaccounts en persoonsentiteiten die al in Home Assistant staan
- Zo is het makkelijker om naar personen te verwijzen in automatiseringen: gebruik
person.joe_mctestin plaats van in elke melding Joe's e-mailadres te moeten onthouden. Werkt ook voor telefoonnummers als er een geschikte sms-integratie is, of voor eigen ID's zoals Telegram of Discord - Elke ontvanger heeft ook een Home Assistant-
switch-entiteit, zodat je iemand makkelijk met rust kunt laten - Zie People en Recipes voor meer details
Transport¶
- Een transport is het technische middel om daadwerkelijk te melden, meestal via een van de al geïnstalleerde Home Assistant-integraties
- Transportadapters maken het verschil tussen gewone Notify-groepen en Supernotify
- Een Notify-groep lijkt eenvoudig meldingen via meerdere kanalen mogelijk te maken, maar in de praktijk heeft elk transport andere
data-structuren (endatabinnendata!), adressering enz., waardoor meldingen uiteindelijk worden teruggebracht tot de kleinste gemene deler, zoals alleenmessage! - Supernotify heeft standaard adapters voor veelgebruikte transporten zoals e-mail, mobiele push, sms en Alexa, plus een Generic-adapter waarmee elke andere Home Assistant-actie kan worden ingepakt
- De transportadapter maakt het mogelijk om één melding naar veel platformen te sturen, ook als die totaal verschillende en onderling onverenigbare interfaces hebben
- Hij past meldingen aan het transport aan: attributen die niet worden geaccepteerd worden weggelaten,
data-structuren worden omgevormd, alleen de juiste doelen worden gekozen, en waar mogelijk is verdere fijnafstemming mogelijk - Elk transport heeft een standaardconfiguratie waarmee veel kan worden afgestemd en vooraf ingesteld, zodat je niet in elke melding dezelfde waarden hoeft op te geven
- Zie Transports voor meer details
Bezorging (Delivery)¶
- Een Delivery legt elk meldingskanaal vast dat je wilt gebruiken
- Standaard heeft elk transport een delivery met dezelfde naam, bijvoorbeeld
emailofmobile_push - Sommige transporten maken automatisch extra deliveries aan, zoals
alexa_devices_announce_allofchime_siren_all - Met YAML kun je meer deliveries maken, bijvoorbeeld
html_emailnaast de platte-tekst-email, of aparte deliveries voor bepaalde spraakassistenten - Transporten die doelen eenduidig kunnen kiezen, zoals e-mail, mobiele push, sms, Alexa Devices en Notify Entity, worden standaard meegenomen bij het afhandelen van doelen
- Andere kunnen worden meegenomen via de configuratie, via Scenario's of door erom te vragen in een melding
- Je kunt eigen deliveries maken met een zelfgekozen naam, en meerdere deliveries voor één transport hebben, bijvoorbeeld
plain_emailenhtml_email - Het Generic-transport werkt als gereedschapskist om een delivery te maken voor bijna alles wat Home Assistant kan en wat nog niet door een standaardtransport wordt gedekt
- Zie Deliveries en Recipes voor meer details
Scenario¶
- Een pakket instellingen dat op naam kan worden ingeschakeld, of automatisch via Home Assistant-voorwaarden
- Scenario's kunnen handmatig worden gekozen met een
apply_scenarios-waarde in hetdata-blok van de melding, of automatisch met een standaard Home Assistant-conditions-blok - Voorwaarden kunnen de tekst van het bericht gebruiken, zodat een Frigate-melding over vogels op het terras anders kan worden afgehandeld dan een insluiper bij een raam
- Gebruik scenario's om meldingen 's nachts minder opdringerig te maken, feestelijker tijdens de feestdagen, of om bepaalde berichten voorrang te geven
- Ze maken het makkelijk om op één plek aanpassingen door te voeren voor veel deliveries of meldingen, en zijn de sleutel tot radicaal eenvoudigere meldingsaanroepen in je automatiseringen
- Zie Scenarios en Recipes voor meer details
Prioriteit (Priority)¶
- Een urgentieniveau voor meldingen
- Er is geen standaardmanier om meldingen te prioriteren, binnen of buiten Home Assistant
- Supernotify heeft een eigen schema met 5 niveaus, volgens de meest gangbare praktijk, van
minimumtotcritical - Prioriteit kan worden gebruikt in regels voor scenario's en deliveries, en worden doorgegeven aan meldingsintegraties die het ondersteunen
- Supernotify heeft een eigen e-mailintegratie, die prioriteit vertaalt naar iets wat Outlook, Apple Mail enz. begrijpen
Info
Voor wie technisch is aangelegd zijn er technische diagrammen van deze concepten.
Kernprincipes¶
- Een melding heeft alleen een bericht nodig; al het andere kan een standaardwaarde krijgen, inclusief alle doelen
- Wat je in een actie-aanroep opgeeft, gaat voor op de standaardwaarden - Dit kan worden bijgesteld met opties als
target_usage- Het personenregister wordt alleen gebruikt om doelen te maken als er geen doelen zijn opgegeven - Actie > Scenario > Delivery > Transport voor configuratie en standaardwaarden
- Zo min mogelijk gedoe bij het configureren en aanroepen - Doelen kunnen in subcategorieën worden ingedeeld, of één grote lijst zijn van entiteit-ID's, apparaat-ID's, e-mailadressen en telefoonnummers - Opties in de actie-
data, zoalsdelivery, kunnen één waarde, een lijst of een woordenboek zijn
Ontwikkelaars¶
Zie Developer Concepts voor hoe meldingen door deliveries, doelen en Envelopes stromen, en de Design Principles.