Podstawowe koncepcje¶
Jak to wszystko działa razem¶
Jedno powiadomienie z automatyzacji może zamienić się w kilka różnych powiadomień, każde dopasowane do sposobu, w jaki jest wysyłane.
- Cele - osoby są zamieniane na sposoby, w jakie można się z nimi skontaktować, na podstawie ich danych Recipient
- Deliveries - wybierane są odpowiednie Deliveries, domyślnie lub przez Scenarios
- Powiadomienia - każda delivery bierze cele, których może użyć, i wysyła dopasowane powiadomienie, dzięki czemu e-mail może mieć pełny układ HTML ze zdjęciami, a głośnik w kuchni dostaje krótki komunikat głosowy
Cel (Target)¶
- Kto lub co otrzymuje powiadomienie i w jaki sposób
- Cele bezpośrednie
- adres e-mail
- numer telefonu
entity_idlubdevice_id, na przykład do komunikatu przez urządzenie Alexa- własny identyfikator dla specjalistycznego transportu, np. Telegram
- Cele pośrednie, które można zamienić na cele bezpośrednie
person_id, aby korzystać z funkcji Recipient- standardowe selektory celów Home Assistant:
label_id,floor_idiarea_id - cele grupowe (zarówno nowe, jak i stare grupy Home Assistant)
- Cele można przypisać do konkretnej Kategorii celu, np.
discord_channel:839439434; zobacz Prefiksy kategorii - Każdy cel jest brany z listy przez integrację, która najlepiej go obsłuży
- Na przykład encja Notify urządzenia Alexa jest obsługiwana przez transport Alexa Devices, a ogólna encja Notify trafia do mniej rozbudowanego transportu Notify Entity
- Zobacz Targets, aby dowiedzieć się więcej
Odbiorca (Recipient)¶
- Osoba, z opcjonalnym adresem e-mail, numerem telefonu, urządzeniami mobilnymi lub własnymi celami
- Domyślnie wykrywani automatycznie na podstawie kont użytkowników i encji osób już istniejących w Home Assistant
- Ułatwia to odwoływanie się do osób w automatyzacjach: użyj
person.joe_mctest, zamiast pamiętać adres e-mail Joego w każdym powiadomieniu. Działa też z numerami telefonów, jeśli zainstalowana jest zgodna integracja SMS, lub z własnymi identyfikatorami, np. Telegram lub Discord - Każdy odbiorca ma też encję
switchw Home Assistant, dzięki czemu łatwo oszczędzić komuś powiadomień - Zobacz People i Recipes, aby poznać szczegóły
Transport¶
- Transport to techniczny sposób faktycznego powiadamiania, zwykle przez jedną z już zainstalowanych integracji Home Assistant
- Adaptery transportu stanowią o różnicy między zwykłymi grupami Notify a Supernotify
- Grupa Notify pozornie pozwala łatwo wysyłać powiadomienia wieloma kanałami, ale w praktyce każdy transport ma inne struktury
data(idatawewnątrzdata!), adresowanie itd., więc powiadomienia trzeba w końcu sprowadzić do najmniejszego wspólnego zestawu atrybutów, np. samegomessage! - Supernotify ma wbudowane adaptery dla popularnych transportów, takich jak e-mail, push mobilny, SMS i Alexa, oraz adapter Generic, który może opakować dowolną inną akcję Home Assistant
- Adapter transportu pozwala wysłać jedno powiadomienie na wiele platform, nawet jeśli mają różne i wzajemnie niezgodne interfejsy
- Dostosowuje powiadomienia do transportu: usuwa nieobsługiwane atrybuty, przekształca struktury
data, wybiera tylko odpowiednie cele i, gdzie to możliwe, pozwala na dodatkowe dostrajanie - Każdy transport ma konfigurację domyślną, która pozwala na wiele ustawień i wartości domyślnych, więc nie trzeba ich powtarzać w każdym powiadomieniu
- Zobacz Transports, aby poznać szczegóły
Dostarczanie (Delivery)¶
- Delivery definiuje każdy kanał powiadomień, którego chcesz używać
- Domyślnie każdy transport ma delivery o tej samej nazwie, np.
emaillubmobile_push - Niektóre transporty automatycznie tworzą dodatkowe deliveries, np.
alexa_devices_announce_alllubchime_siren_all - W YAML można tworzyć kolejne deliveries, np.
html_emailobok zwykłego tekstowegoemail, albo osobne deliveries dla konkretnych asystentów głosowych - Transporty, które potrafią jednoznacznie wybrać cele, takie jak e-mail, push mobilny, SMS, Alexa Devices i Notify Entity, są domyślnie uwzględniane przy obsłudze celów
- Inne można uwzględnić przez konfigurację, za pomocą Scenarios lub prosząc o nie w powiadomieniu
- Możesz definiować własne deliveries o wybranej nazwie i mieć kilka deliveries dla jednego transportu, np.
plain_emailihtml_email - Transport Generic działa jak skrzynka z narzędziami do tworzenia delivery dla niemal wszystkiego, co potrafi Home Assistant, a czego nie obejmuje jeszcze standardowy transport
- Zobacz Deliveries i Recipes, aby poznać szczegóły
Scenariusz (Scenario)¶
- Pakiet ustawień, który można włączyć po nazwie lub automatycznie za pomocą warunków Home Assistant
- Scenarios można wybrać ręcznie wartością
apply_scenariosw blokudatapowiadomienia albo automatycznie standardowym blokiemconditionsHome Assistant - Warunki uwzględniają treść wiadomości, więc powiadomienie Frigate o ptakach na tarasie można obsłużyć inaczej niż intruza przy oknie
- Używaj scenarios, aby powiadomienia były mniej uciążliwe w nocy, bardziej świąteczne w święta lub aby nadać priorytet niektórym wiadomościom
- Pozwalają wprowadzać zmiany w jednym miejscu dla wielu deliveries lub powiadomień i są kluczem do radykalnego uproszczenia wywołań powiadomień w automatyzacjach
- Zobacz Scenarios i Recipes, aby poznać szczegóły
Priorytet (Priority)¶
- Poziom pilności powiadomień
- Nie ma standardowego sposobu priorytetyzacji powiadomień, ani w Home Assistant, ani poza nim
- Supernotify ma własny 5-poziomowy schemat zgodny z najczęstszymi praktykami, od
minimumdocritical - Priorytetu można używać w regułach scenarios i deliveries oraz przekazywać go do integracji powiadomień, które go obsługują
- Supernotify ma własną integrację e-mail, która przekłada priorytet na format zrozumiały dla Outlooka, Apple Mail itp.
Info
Dla zainteresowanych technicznie jest Diagram klas klas podstawowych odpowiadających tym koncepcjom.
Podstawowe zasady¶
- Powiadomienie potrzebuje tylko wiadomości; wszystko inne może mieć wartości domyślne, łącznie ze wszystkimi celami
- To, co zdefiniujesz w wywołaniu akcji, ma pierwszeństwo przed wartościami domyślnymi - Można to dostroić opcjami takimi jak
target_usage- Rejestr osób służy do tworzenia celów tylko wtedy, gdy nie podano żadnych celów - Akcja > Scenario > Delivery > Transport dla konfiguracji i wartości domyślnych
- Jak najmniej wymagań co do sposobu konfiguracji i wywołania - Cele mogą być pogrupowane w podkategorie albo stanowić jedną dużą listę identyfikatorów encji, urządzeń, adresów e-mail i numerów telefonów - Opcje
dataakcji, takie jakdelivery, mogą być pojedynczą wartością, listą lub słownikiem
Deweloperzy¶
Zobacz Developer Concepts, aby dowiedzieć się, jak powiadomienia przechodzą przez deliveries, cele i Envelopes, oraz Design Principles.