Dashticz – wyświetlanie faz księżyca

Na prośbę jednego z czytelników opiszę sposób skonfigurowania w Dashticz bardzo ładnego, przydatnego dodatku – faz księżyca z ich prezentacją na zdjęciach. Nie dość, że estetyczne, to jeszcze naprawdę przydatne.

Nie jestem autorem tego pomysłu i skryptu, od razu piszę. Dlatego po źródłowy kod odsyłam do:

a postaram się tutaj wyjaśnić sposób jego instalacji.

Zacząć trzeba od stworzenia pliku w folderze /scripts/lua, co ważne z początkiem nazwy script_time_. Dla uproszczenia – można tak jak w przykładzie – script_time_moon.lua.

Tam wklejamy kod wskazany w linku.

Tak jak w podanej w Wiki Domoticz instrukcji – krytyczne jest założenie 2 zmiennych użytkownika i 5 wirtualnych czujników w zakładce Devices.

Najpierw jednak Hardware:

I później Dummy sensors z typami jak poniżej:

Czyli User Variable:

MoonPicture STRING
MoonphaseCheck STRING

I Dummy:

Dummy Switch Moon up Text
Dummy Switch Moon under Text
Dummy Switch Moonpercentage Percentage
Dummy Switch Moon age Custom Sensor Days
Dummy Switch Moonphase Text

Teraz pora zmienić dane w script_time_moon.lua. Co do zmiennych, które musimy dostosować:

local moonpicture = „MoonPicture”

Nazwa zmiennej użytkownika – tam skrypt zapisuje numer obrazka png do wyświetlenia.

local checkvar = „MoonphaseCheck”

Również używana w skrypcie. Wpisywana tam jest nazwa fazy. Można zmienić na angielski i później wyświetlać w Domoticz.

local checktime = 3600

Interwał odświeżania danych z WeatherUnderground. Nie może być zbyt mały, bo zależy od planu jaki tam mamy. A zapewne będzie darmowy…

local city = „Warszawa”

Miasto dla WeatherUnderground

local countryCode = „PL”

Kod kraju dla WeatherUnderground

local idxmoonrise=’161′
local idxmoonset=’162′
local idxmoonpercentage =’163′
local idxmoonage =’164′
local idxmoonphase =’165′

Powyżej 5 czujników, w których musimy wpisać IDX takie jak założyliśmy wcześniej.

local wuAPIkey = „xxxxxxxxxxx”

Klucz WeatherUnderground. Dla przypomnienia – instrukcja założenia tutaj: https://cezarowy.blogspot.com/2017/09/dashticz-spenienie-marzen-maniaka.html

AKTUALIZACJA 2018-05-21!

Z tego co widzę to Weather Underground przestało udostępniać darmowe API z danymi pogodowymi! Postaram się zbadać temat i odpowiedni zmienić opis Dashticz.

local DOMO_IP = „192.168.1.200”
local DOMO_PORT = „80”

Dane dostępowego naszego Domoticz.

local tempfilename = '/var/tmp/phase.tmp’

To miejsce gdzie będzie się zapisywał plik z danymi zrzucanymi z WeatherUnderground. Część danych wygląda na przykład tak:
  „astronomy”: 1
  }
        }
                ,       „moon_phase”: {
                „percentIlluminated”:”81″,
                „ageOfMoon”:”11″,
                „phaseofMoon”:”Waxing Gibbous”,
                „hemisphere”:”North”,
                „current_time”: {
                „hour”:”22″,
                „minute”:”20″
                },
                „sunrise”: {
                „hour”:”7″,
                „minute”:”23″
                },
                „sunset”: {
                „hour”:”16″,
                „minute”:”26″
                },
                „moonrise”: {
                „hour”:”12″,
                „minute”:”26″
                },
                „moonset”: {
                „hour”:”2″,
                „minute”:”54″
                }
        },
Celem skryptu na Wiki Domoticz jest odpowiednie odczytanie tego pliku i zamapowanie zmiennych.
Jeżeli zmienne są poprawne i skrypt zacznie działanie (sam, ponieważ script_time_ uruchamiają się automatycznie), będzie to wyglądać tak:
W sumie mamy już wszystko. Pozostaje konfiguracja Dashticz.
W sekcji config dodajemy:
config[’idx_moonpicture’] = 7;
Ten IDX jest numerem naszej User Variable.
W sekcji buttons:
var buttons = {} 
buttons.moon = {width:6, isimage:true, refreshimage:60000, image: 'moon’}
W columns:
columns[1] = {} 
columns[1][’blocks’] = [buttons.moon];
columns[1][’width’] = 3;
I screens:
screens[1] = {}
screens[1][’columns’] = [1];
Oczywiście Wy powinniście dołożyć ten przycisk w kolumnach, które u Was są poprawne i na odpowiednim ekranie.
Chciałbym teraz napisać: 'Cieszymy się, że działa’ i mam nadzieję, że tak będzie…

3 komentarze do “Dashticz – wyświetlanie faz księżyca”

  1. Witam.
    Co może być tego przyczyną?
    Error: EventSystem: in home/pi/domoticz/scripts/lua/script_time_moon.lua: /home/pi/domoticz/scripts/lua/script_time_moon.lua:130: attempt to perform arithmetic on global 'percentIlluminated' (a nil value)
    Raz się zaktualizowało a teraz mam taki błąd.

    Odpowiedz
  2. Tak mi to trochę wygląda jakby był problem odczytu wartości z WeatherUnderground. Później na tej zmiennej wykonywane jest dzielenie i u Ciebie jest pusta (nie zerowa, a pusta)

    Odpowiedz
  3. 58 year-old Marketing Assistant Isa McGeever, hailing from Listowel enjoys watching movies like Nömadak TX and Flag Football. Took a trip to Chhatrapati Shivaji Terminus (formerly Victoria Terminus) and drives a Ford GT40. zobacz tutaj

    Odpowiedz

Dodaj komentarz