Celem tego artykułu jest pokazanie możliwości wykorzystania czasu wschodu i zachodu słońca do ustawienia reguł w obiekcie wirtualnym Kalendarz. Taka funkcjonalność pozwoli np. na podnoszenie rolet o wschodzie słońca i ich opuszczanie o zachodzie.


W poniższym artykule przedstawiono sposób pobierania informacji na temat wschodu i zachodu słońca w UnixTime z serwisu OpenWeatherMap:
https://support.grenton.pl/pl/support/solutions/articles/35000164999-gate-http-pobieranie-danych-z-serwisu-openweathermap


Poniższy artykuł pokazał sposób konwersji UnixTime wschodu i zachodu słońca (pobranych z serwisu OpenWeatherMap) na datę i godzinę:
https://support.grenton.pl/pl/support/solutions/articles/35000165004-gate-http-konwersja-unixtime-do-czasu-lokalnego
 

Wspomniane instrukcje pozwolą na wyświetlenie informacji o wschodzie i zachodzie słońca w następującym formacie:



Posiadając takie informacje można przejść do utworzenia konfiguracji pozwalającej na ustawienie reguł w obiekcie wirtualnym Kalendarz.

  • Na CLU należy utworzyć cechy użytkownika typu number:


  • W kolejnym kroku należy utworzyć dwa obiekty wirtualne Kalendarz – jeden odpowiedzialny za wywoływanie akcji o wschodzie słońca, drugi o zachodzie:







 

  • W kolejnym kroku na CLU należy utworzyć skrypt:
CLU->sunrise_hour = tonumber(string.sub(tostring(GATE_HTTP->sunrise_local),12,13))
CLU->sunrise_minute = tonumber(string.sub(tostring(GATE_HTTP->sunrise_local),15,16))

CLU->cron_sunrise = CLU->sunrise_minute .. " " .. CLU->sunrise_hour .. " * * *"

CLU->cal_sunrise->SetRule(CLU->cron_sunrise)

 
------------------------------


CLU->sunset_hour = tonumber(string.sub(tostring(GATE_HTTP->sunset_local),12,13))
CLU->sunset_minute = tonumber(string.sub(tostring(GATE_HTTP->sunset_local),15,16))

CLU->cron_sunset = CLU->sunset_minute .. " " .. CLU->sunset_hour .. " * * *"

CLU->cal_sunset->SetRule(CLU->cron_sunset)

 

  • Następnie należy wysłać konfigurację do CLU.

    Uwaga! Jeżeli wysyłanie konfiguracji do CLU będzie wiązało się z przesłaniem nowej konfiguracji do modułu Gate HTTP, to po jej przesłaniu należy odczytać informacje o czasie wschodu oraz zachodu słońca z serwisu OpenWeatherMap oraz wykonać konwersję pobranego czasu Unix do daty i godziny.

 

  • Po poprawnym przesłaniu konfiguracji należy wywołać wcześniej utworzony skrypt – po jego wywołaniu cechy użytkownika na CLU powinny przyjąć następujące wartości:

    a reguły w obiektach Kalendarz powinny wyglądać następująco:




Ustawienie reguł w obiektach Kalendarz można realizować każdego dnia o tej samej porze (przed wschodem słońca) po wcześniejszym odczycie wartości wschodu oraz zachodu słońca z serwisu OpenWeatherMap oraz po konwersji UnixTime na lokalny czas i datę.