Prognoza pogody

Główna strona  Wstecz  Dalej

 

Celem wprowadzenia funkcji prognozy pogody jest możliwość prezentacji w WinCN stanu aktualnej pogody i prognozy w lokalizacjach, gdzie znajdują się nadzorowane obiekty.

Definicja sterownika

Serwer pogodowy OpenWeatherMap jest obsługiwany jako nowy typ sterownika. Każdy monitorowany punkt w prognozie pogody jest definiowany jako sygnał. Aby uruchomić komunikację z serwerem trzeba będzie zdefiniować w obiekcie kolejny sterownik, przypisać go do odpowiedniego OMK_REST, a następnie dodać do konfiguracji wymagane sygnały.

Wśród sygnałów jest dostępne 13 punktów monitorowania, dla każdego czasu prognozy co daje razem 65 sygnałów.

Sygnały można dodać standardowo do elementu, ustawić dla nich progi alarmowe.

Specjalne znaczenie ma sygnał Identyfikator pogody. W elemencie jest wyświetlany jako liczba. W OMK zostaną zdefiniowane wartości, dla których sygnał będzie przyjmował stan alarmowy. Dodatkowo sygnał będzie używany w trzech funkcjach wizualizacji:

Na mapie, po przełączeniu w tryb pogody pojawią się ikony prognozy pogody w miejscach położenia obiektów.
W stanie obiektu, na górnej belce będą stale wyświetlane ikony pogody, dla wszystkich okresów czasowych zdefiniowanych w konfiguracji sterownika.
W oknie prognoz pogody

Dla tych trzech funkcji sygnały Identyfikatora pogody muszą być dodane do konfiguracji sterownika, ale nie muszą być umieszczone w żadnym elemencie.

W opcjach sterownika można ustawić:

Czas odpytywania
Co ile odczytów mają być zapisane wszystkie sygnały
Co jaki czas mają być zapisane wszystkie sygnały
Lokalizacja sterownika
Wersja językowa

Identyfikator pogody

Identyfikator pogody to specjalny sygnał określający ogólny stany pogody w prognozie. Zawiera najważniejsze informacje o prognozowanych zjawiskach i niebezpieczeństwach.  Przesyłany jest w postaci Kodu (liczba 3-cyfrowa). Do każdej wartości liczby przypisana jest określona ikona oraz opis tekstowy.

Do dyspozycji jest 9 ikon pogodowych. Jedna ikona jest przypisana do wielu kodów pogody. Istnieją wersje na dzień i na noc.

Dodatkowo dodana zostanie ikona z identyfikatorem 00 oznaczająca brak prognozy.

Kody pogodowe podzielone są na 7 grup. W sumie jest 55 kodów pogody. Kody będą przechowywane w bazie danych (tabela: WeatherConditionCodes) jako zestaw: id, grupa, opis, nr ikony dziennej i nocnej. Nazwę grupy i opis można dostosować do aktualnej wersji językowej. Kody pogodowe opisane są w pkt 8 dokumentu.

Komunikacja z serwerem pogody

W systemie zostanie zaimplementowana obsługa serwera OpenWeatherMap.

Adres serwera: https://openweathermap.org

Wywołanie w serwerze odbywa się poprzez specjalnie sformatowany URL. Odpowiedź jest przesyłana w formacie JSON.

Przykładowy adres url:

api.openweathermap.org/data/2.5/weather?q={city name}&appid={your api key}

Każde wywołanie w serwerze musi zawierać klucz klienta (api key). Każdy klient Telzas, który będzie chciał używać prognozy pogody będzie musiał zdobyć taki klucz i wprowadzić go do konfiguracji WinCN.

Moduł OMK po nawiązaniu połączenia z serwerem WinCN pobiera po WCF klucz api key.

Wizualizacja

Wszystkie punkty monitorowania są traktowane jak inne sygnały. Można używać progów alarmowych, sygnałów wirtualnych, dodawać je dowolnie do elementów, stosować w powiadomieniach.

Specjalne znaczenie ma Identyfikator pogody. W trzech miejscach jest stosowany do graficznej wizualizacji pogody za pomocą specjalnych ikon. We wszystkich przypadkach program będzie automatycznie szukał sygnałów Identyfikator pogody w konfiguracji obiektu i pobierał ostatnią wartość sygnału. Jeżeli nie znajdzie to zostanie wyświetlona ikona braku wartości.

Klient WinCN podczas startu będzie pobierał z bazy danych ustawienie WeatherMap. Wartość 0 oznacza wyłączenie, a 1 załączenie funkcji.

Mapa

Na belce znajduje się przycisk służący do przełączania się pomiędzy widokiem alarmów a widokiem prognozy. Po przełączeniu zamiast ikon stanu obiektu pojawią się ikony symbolizujące stan pogody. Po najechaniu kursorem nad ikonę pojawi się tekst z opisem stanu pogody.

Warunkiem pojawienia się ikony jest obecność sygnału identyfikatora pogody dla odpowiedniej prognozy. Inaczej pojawi się symbol informujący o braku sygnału.

Po przełączeniu na widok prognozy pojawi się lista rozwijalna pozwalająca na przełączenie czasu prognozy: 00h, 03h, 06h, 09h, 12h. Zmiana ustawienia na liście zmienia automatycznie symbole pogody na te z wybranego czasu.

Przyciski prognozy pogody są pokazywane tylko, gdy funkcja prognozy jest załączona.

Okno stanu obiektu

Na górnym pasku skrótów, z prawej strony wyświetlane będą ikony stanu pogody. Ikon może być od 1 do 5. Pierwsza dotyczy prognozy 00h, druga 03h, itd. Jeżeli nie da się pobrać któreś z 5 wartości prognozy to ikona nie jest wyświetlana. Jeżeli nie udało się pobrać żadnej prognozy to wyświetlana jest ikona braku prognozy. Po najechaniu kursorem nad ikonę pojawi się tekst z opisem stanu pogody oraz informacja o czasie prognozy.

Przyciski prognozy pogody są pokazywane tylko, gdy funkcja prognozy jest załączona.

Lista prognoz pogody

Okno prognozy pogody jest otwierane przyciskiem o nazwie Prognoza pogody znajdującym się na zakładce Monitoring w grupie Obiekty.

pogoda

Przycisk prognozy pogody pokazywany jest tylko, gdy funkcja prognozy jest załączona.

Okno zawiera tabelę, gdzie w wierszach będą widoczne wszystkie obiekty. W kolumnach będą widoczne:

nazwa obiektu,
ikona pogody dla 00h
ikona pogody dla 03h
ikona pogody dla 06h
ikona pogody dla 09h
ikona pogody dla 12h
data ostatniego odczytu ze sterownika obsługującego prognozę

Nad tabelą jest umieszczony pasek z następującymi elementami:

Przycisk otwarcia stanu obiektu

Klikając prawym przyciskiem w tabeli pokaże się menu podręczne z poleceniami:

Okno stanu obiektu
Konfiguracja sterownika

 

Jeżeli podczas wczytywania danych okaże się, że w konfiguracji obiektu jest więcej niż jeden sterownik typu OpenWeatherMap to wiersz z tym obiektem zostanie podświetlony na czerwono.

Dostosowywanie

Opcja o nazwie Prognoza pogody (checkbox) znajduje się na zakładce Ustawienia aplikacji. Opcja zapisywana jest w tabeli KonfiguracjaWinCN i przypisywana do zalogowanego użytkownika (klucz: WeatherMapEnable). Wartość jest typu int (TypWartosci = 0), gdzie 0 oznacza opcję odznaczoną, a 1 opcję zaznaczoną.

Dodanie sekcji ‘Logowanie do serwera prognozy pogody’ na zakładce Konfiguracja modułów. W polu wyświetlane mają być dwie pozycje: Adres serwera i Klucz klienta. Naciśnięcie przycisku Edycja powoduje otwarcie okna edycji parametrów.

W oknie widoczna jest sekcja ‘Serwer prognozy pogody’. Wewnątrz sekcji są dwa pola edycyjne (TextEdit) z etykietami z kolumny ‘Etykieta pola’. Wartości obu pól są zapisywane w tabeli Configurations z kluczami z kolumny ‘Key’.

Etykieta pola

Key

Szyfrowanie

Nr klucza

Adres serwera

WeatherServerAddress

nie

-

Klucz klienta

WeatherServerApiKey

tak

16

 

Sekcja ‘Logowanie do serwera prognozy pogody’ podlega uprawnieniom (gałąź Konfigurator, klucz PrognozaPogody). Ustawiony Brak dostępu powoduje ukrycie całej sekcji. Ustawiony Tylko do odczytu powoduje ukrycie przycisku Edycja.

Okno główne

Na zakładce Monitoring w grupie Obiekty trzeba kliknąć przycisk z nazwą Prognoza pogody. Widoczność przycisku uzależniona jest od konfiguracji. Widoczny jest, gdy funkcja prognozy jest załączona.

Implementacja prognozy na mapie

Po otwarciu okna sprawdzana jest wartości opcji Prognoza pogody w ustawieniach. Kontrolki dotyczące prognozy pogody pokazywane są tylko, gdy funkcja jest załączona.

Na górnym pasku trzeba dodać przycisk i listę rozwijalną. Lista rozwijalna zawierać będzie czasy prognozy z 5 pozycjami: 00h, 03h, 06h, 09h, 12h.

Przycisk ma nazwę Prognoza pogody. Działa w trybie dwustanowym.  Gdy przycisk zostaje wciśnięty pojawia się lista rozwijalna z czasami (domyślną pozycją jest 00h). Z DataManager-a zostają pobrane wartości sygnałów identyfikatora pogody dla wszystkich czasów.

W zależności od ustawienia czasu na liście, dla każdego obiektu wyciągnięta zostaje wartość odpowiedniego sygnału identyfikatora pogody. Na podstawie wartości sygnału z tabeli WeatherConditionCodes pobierany jest numer ikony i tekst opisu. Przy obiektach zamiast ikon alarmów zostają wyświetlone ikony pogody, a w polu ToolTips umieszczony zostaje tekst opisu.

Jeżeli na liście czasu zostanie zmieniona pozycja to zostają pobrane odpowiednie dane i zaktualizowane zostają ikony oraz teksy opisów.

Implementacja prognozy w oknie stanu obiektu.

Po otwarciu okna sprawdzana jest wartość opcji Prognoza pogody w ustawieniach. Kontrolki dotyczące prognozy pogody pokazywane są tylko, gdy funkcja jest załączona.

Na górnym pasku trzeba dodać 5 pól służących do wyświetlania grafiki. W polach będą umieszczane ikony prognozy pogody. Od lewej będą to kolejno ikony z czasu 00h, 03h, 06h, 09h, 12h.

Przy otwarciu okna z DataManager-a zostają pobrane wartości sygnałów identyfikatora pogody dla wszystkich czasów. Dla każdego czasu szukana jest wartość sygnału identyfikatora pogody. Na podstawie wartości sygnału z tabeli WeatherConditionCodes pobierany jest numer ikony i tekst opisu. W każdym z 5 pól umieszczana jest ikona pogody, a w polu ToolTips umieszczony zostaje tekst opisu oraz czas prognozy.

Jeżeli, dla któregoś z 5 sygnałów nie uda się pobrać wartości to pole zostaje puste. Jeżeli dla żadnego z tych sygnałów nie udało się pobrać wartości to w polu 00h zostaje umieszczona ikona braku pogody.

Okno prognozy pogody

Podczas wczytywania obiektów do tabeli, w konfiguracji obiektu szukany jest sterownik typu OpenWeatherMap. Jeżeli nie ma żadnego to w tabeli wyświetlona zostaje jedynie nazwa obiektu. Jeżeli jest więcej niż jeden to tło wiersza zostaje podświetlone na czerwono, a w wierszu umieszczona zostaje tylko nazwa obiektu. Jeżeli w obiekcie jest tylko jeden sterownik tego typu to sprawdzana jest konfiguracja sterownika w poszukiwaniu sygnałów z identyfikatorami pogody, a następnie ostatnie zapisane wartości tych sygnałów.

Każdy odczytany sygnał umieszczany jest w odpowiedniej kolumnie (według czasu). Wartość wyświetlana jest w postaci ikony i opisu.

Wybranie polecenia Okno stanu obiektu powoduje otwarcie okna obiektu zaznaczonego w tabeli obiektu.

Wybranie polecenia Konfiguracja sterownika powoduje otwarcie okna konfiguracji sterownika typu OpenWeatherMap znajdującego się w konfiguracji zaznaczonego w tabeli obiektu. Jeżeli sterownika tego typu nie ma w konfiguracji wyświetlony zostaje komunikat o braku sterownika z prognozą pogody. Jeżeli w konfiguracji obiekt jest więcej niż jeden sterownik typu OpenWeatherMap wyświetlony zostaje komunikat o tym z pytaniem czy otworzyć okno konfiguracji obiektu.

Ikony pogodowe

Ikona braku prognozy pogody

Ikony dzienne

Ikony nocne

Opis

bezchmurnie

lekkie zachmurzenie

rozproszone chmury

pochmurno z przejaśnieniami

przelotny deszcz

deszcz

burza

śnieg

mgła