Jak dodać niestandardowe wiadomości Push w Synology NAS?

Opublikowano
Synology NAS notification

W systemie DSM od Synology można znaleźć w ustawieniach specjalną zakładkę dot. notyfikacji, gdzie można zdefiniować jakie notyfikacje mają zostać wysłane poszczególnymi kanałami (email, SMS, push). Opcji jest sporo, jednak niektórych zdarzeń nie znajdziemy na liście.

Opis sytuacji

Swojego NAS skonfigurowałem w taki sposób, że mogę używać go spoza sieci domowej, dzięki serwerowi VPN uruchomionemu na moim routerze. Dzięki temu dostęp jest bezpieczny, a pliki i usługi dostępne są z każdego miejsca na ziemi. Z racji tego, że ze swojego NAS’a nie korzystam 24/7, ustawiłem go w taki sposób, że nieużywany przez określony czas, sam się wyłącza. Jeśli potrzebuję go uruchomić zdalnie, korzystam z WOL (eng. Wake-On-Lan) i po odczekaniu 1-2 min. serwer jest gotowy do użytku.

I tutaj pojawia się …

Problem

Problem polega na tym, że serwer uruchamia się przez pewien dłuższy czas i sygnał gotowości (beep) jest słyszalny tylko i wyłącznie tam gdzie jest serwer 😁. Ciężko zatem uchwycić ten moment łącząc się zdalnie. Jedynie pozostaje wykonywanie co chwilę prób połączenia. W przypadku gdy serwer nie uruchomił się lub wystąpił jakikolwiek inny problem, nigdy się o nim nie dowiemy, a próby połączenia moglibyśmy wtedy wykonywać bez końca.

Pomysł na rozwiązanie

Rozwiązanie pomysłu jest proste:

  1. Dodać niestandardową notyfikację do systemu
  2. Zdefiniować typ notyfikacji na „mobile”
  3. Dodać nowe zadanie w Task Scheduler dla wysłania notyfikacji, gdy serwer się uruchomi.

Implementacja rozwiązania

Dodawanie niestandardowej notyfikacji do systemu

Należy dokonać zmian w plikach systemowych Synology NAS, w tym celu użyjemy połączenia SSH, który pozwoli na zdalny dostęp.

  1. Jeśli SSH jest wyłączone, w zakładce Control Panel > Terminal & SNMP zaznacz Enable SSH Service jak na obrazku poniżej:

  1. Zaloguj się zdalnie poprzez SSH na konto Administratora, wykonując poniższą komendę a następnie podając hasło:
ssh <admin_name>@<adressIP>
  1. Wykonaj kolejno polecenia:
cd /usr/syno/synoman/webman/texts/
ls

Po ich wykonaniu widoczna będzie lista wszystkich języków dostępnych dla notyfikacji. W celu dodania nowej, musisz zdefiniować ją przynajmniej dla języka enu (angielski) oraz w swoim języku (np. j. polski to plk).

  1. Wykonaj polecenie:
sudo vi texts/enu/mails
  1. Wpisz G – by przejść do ostatniej linii w pliku
  2. Wpisz i – by rozpocząć edycję
  3. Wprowadź text, np.:
[custom_turn_on_system]
Category: System
Title: System is working already
Subject: NAS booted up succesfully. 
 
Dear user,

The IP address [%CLIENT_IP%] is current address of NAS. System booted up and is ready to go!

From %HOSTNAME%
  1. Wciśnij Esc w celu zakończenia edycji
  2. Wprowadź :x – by zapisać
  3. Wykonaj polecenie:
sudo vi texts/plk/mails
  1. Wykonaj ponownie kroki 5-9, tym razem odpowiednio wpisując polską wersję komunikatu, np.:
[custom_turn_on_system]
Category: System
Title: System został uruchomiony
Subject: NAS uruchomił się poprawnie. 

Drogi użytkowniku,

Adres IP [%CLIENT_IP%] jest aktualnym adresem dla Twojego NAS. System uruchomił się poprawnie i jest gotowy do użytku.

Od %HOSTNAME%

Zdefiniowanie typu notyfikacji

Na tym etapie zdefiniujemy typ notyfikacji, by była wysyłana jako Push. W tym celu wykonaj poniższe kroki.

  1. Wykonaj polecenia:
cd /usr/syno/etc/notification/
sudo vi notification_filter.settings
  1. Wpisz kolejno: G oraz i (by przejść na koniec pliku i rozpocząć edycję)
  2. Dopisz na końcu pliku:
custom_turn_on_system="mobile"
  1. Wciśnij Esc, a następnie :x w celu zapisania pliku.

Dodanie zadania w Task Scheduler

W tym kroku należy dodać nowe zadanie w Task Scheduler, które zostanie wykonane gdy serwer uruchomi się poprawnie.

  1. Otwórz Control Panel > Task Scheduler > Create > Triggered Task > User-defined script
  2. Wprowadź tekst dla Task: Boot-up notification
  3. Wybierz konto administratora w polu User
  4. Wybierz Event: Boot-up
  5. W zakładce Task Settings > User-defined script wpisz:
/usr/syno/bin/synonotify custom_turn_on_system

Po wykonaniu tych wszystkich czynności, zrestartuj NAS’a i sprawdź czy powiadomienie poprawnie przyjdzie na urządzeniu uprzednio podpiętym do otrzymywania wiadomości Push.

Test rozwiązania

Wiadomość powinna zostać dostarczona w tym samym momencie co sygnał dźwiękowy wydawany przez serwer (jeśli nie został on uprzednio wyłączony). Jeśli jednak napotkasz problemy z otrzymaniem wiadomości, sprawdź najpierw czy urządzenie jest poprawnie sparowane z NAS’em.

W tym celu przejdź do zakładki Control Panel > Notification > Push Service > Manage paired devices gdzie potwierdzisz, że urządzenie znajduje się na liście. Jeśli urządzenie jest na liście, możesz wykonać test wysyłki wiadomości za pomocą Send a test message, dzięki czemu potwierdzisz czy wiadomości dochodzą poprawnie na podpięte urządzenia.

Rozwiązanie to działa idealnie, a powiadomienia bez późnień dostarczone zostały na moje urządzenia mobilne. 📱

Autor: macuser

Na co dzień pracuje jako iOS Developer, a w czasie wolnym uwielbia tworzyć muzykę w swoim domowym studio. Lubi czytać książki na temat psychologii, technik marketingu, oraz być ciągle na bieżąco z nowymi trendami w świecie technologii.