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.
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.
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'
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
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.
OdpowiedzUsuń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)
UsuńProblemy z urządzeniami AGD mogą powodować duże utrudnienia w codziennym życiu, dlatego ważne jest, aby szybko znaleźć rzetelny serwis. Profesjonalni technicy nie tylko naprawią uszkodzony sprzęt, ale również doradzą, jak dbać o urządzenia, by służyły przez długi czas. Serwis AGD, który oferuje wsparcie techniczne na wysokim poziomie, jest nieoceniony w przypadku nagłych awarii. Szczegółowe informacje o oferowanych usługach można znaleźć na: https://serwisagd-technik.pl/. Wybierając serwis, warto zwrócić uwagę na szybkość reakcji i dostępność części zamiennych.
OdpowiedzUsuń