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…
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.
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)
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