środa, 20 września 2017

Dashticz - spełnienie marzeń maniaka gadżetów ;)

W jednym z poprzednich postów opisałem front-end do Domoticz - framb0ise.

Jest on bajecznie prosty w instalacji i konfiguracji, co jest także jego minusem - możliwości są ograniczone. Warto zająć się innym, potężnym już w moim mniemaniu, narzędziem - Dashticz.

Instalacja i uruchomienie jest proste, osadzenie Ulubionych i automatyczne ułożenie ikonek również. Ciekawie zaczyna się robić, gdy chcemy dashboard dostosować do naszych potrzeb. I to opiszę w tym i kolejnym poście. Temat jest na tyle bogaty, że lepiej rozbić go na dwa osobne - dla amatorów i zaawansowanych :)

Po zalogowaniu się do terminala przechodzimy do domoticz/www

git clone https://github.com/robgeerts/dashticz_v2

cd domoticz/www/<dashticzv2 folder>/custom/
cp CONFIG_DEFAULT.js CONFIG.js

Aby zaktualizować wersję, wystarczy dać polecenie.
git pull

WAŻNE aby wcześniej zrobić kopię zapasową swojej konfiguracji.

W najprostszej konfiguracji wystarczy usunąć linie komentarzy /* */ z pliku CONFIG.js i powinniśmy już cieszyć się pulpitem z naszymi Ulubionymi (czyli urządzeniami dodanymi do Ulubionych w Domoticz) elementami.

Powyższa zaznaczona część zdania jest bardzo ważna! Często wiele osób jest zaskoczona tym, że ich zmiany nie działają. Domyślnie cały CONFIG.js jest opatrzony komentarzem (tak to się , który powoduje, że Dasthicz NIE WIDZI zmian, które wprowadzacie).

Można też użyć najprostszego pliku:
var config = {}
config['language'] = 'pl_PL'; //lub: en_US
config['domoticz_ip'] = 'http://IP:Port';
config['domoticz_refresh'] = '5';
config['dashticz_refresh'] = '60';

Ale my jesteśmy ambitni i nasz początkowy ekran będzie wyglądał następująco:

Dla wyjaśnienia - na powyższym zrzucie ekranu wyłączyłem Ulubione, żeby nie zaśmiecić ekranu. Trochę zbyt dużo u mnie już tego jest :)

Tak dla pewności, aby dostać się do Dashticz po jego zainstalowaniu trzeba wejść na adres http://IP_Domoticz/dashticz_v2/index.html

Aby to osiągnąć musimy wrzucić do CONFIG,js następujący tekst

var config = {}
var _BACKGROUND_IMAGE = 'bg1.jpg'
config['domoticz_ip'] = 'http://IP:Port';
config['app_title'] = 'Dashticz';
config['domoticz_refresh'] = '5';
config['dashticz_refresh'] = '60';
config['language'] = 'en_US';
config['timeformat'] = 'DD-MM-YY HH:mm';
config['wu_api'] = 'xxxxxxxx';
config['wu_city'] = 'City';
config['wu_name'] = 0;
config['wu_country'] = 'PL';
config['auto_positioning'] = 1;
config['use_favorites'] = 1;
config['last_update'] = 1;
config['hide_topbar'] = 0;
config['hide_seconds'] = 1;
config['use_fahrenheit'] = 0;
config['use_beaufort'] = 0;
config['static_weathericons'] = 0;
config['hide_mediaplayer'] = 0;

var buttons = {} 
buttons.radio = {width:12, image: 'img/radio_on.png', title: 'Radio', url: 'http://rmf.fm'} 
buttons.news = {width:12, icon: 'fa-newspaper-o', title: 'News', url: 'http://news.gazeta.pl'} 
buttons.log = {key:'log', width:12, icon:'fa-microchip', title: 'Domoticz Log', log:true, level: 2}

Pozwolę sobie objaśnić poszczególne elementy, przyda się to do późniejszego (bardziej zaawansowanego) konfigurowania pulpitu.

var _BACKGROUND_IMAGE = 'bg1.jpg'
Zmienna opisująca nazwę pliku z tłem dla Dashticz. W folderze <dashticz>/img znajduje się wiele przykładowych plików z tłami do wykorzystania. Oczywiście nic nie stoi na przeszkodzie, aby użyć swoich, ale o tym w kolejnym wpisie

config['domoticz_ip'] = 'http://IP:Port';
Standard - IP i port Domoticz

config['app_title'] = 'Dashticz';
Tytuł aplikacji, który będzie wyświetlany na pasku tytułowym

config['domoticz_refresh'] = '5';
config['dashticz_refresh'] = '60';
Kolejno - interwał odświeżania danych z Domoticz oraz odświeżania samego Dashticz

config['language'] = 'en_US';
Język w jakim będzie się z nami komunikować Dashticz - na przykład en_US lub pl_PL

config['timeformat'] = 'DD-MM-YY HH:mm';
Format czasu używany w Dashticz

config['wu_api'] = 'xxxxxxxx';
config['wu_city'] = 'City';
config['wu_name'] = 0;
config['wu_country'] = 'PL';

Klucz API Weather Underground, dzięki któremu zobaczymy ikony z prognozą pogody

Dla jasności - klucz do API Weather Underground możemy uzyskać na ich stronie: https://www.wunderground.com/weather/api/. Darmowa subskrypcja powinna być dla nas wystarczająca (przy okazji - mam nadzieję, że dodaliście go w Domoticz, chociaż osobiście korzystam ostatnio częściej z DarkSky).


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.





config['auto_positioning'] = 1;
config['use_favorites'] = 1;
Dwie BARDZO ważne opcje, które na początku mogą sprawić trudności. Ważne jest aby były włączone, jeżeli chcecie uruchomić Dashticz 'na szybko'. Pierwsza poinformuje system, żeby automatycznie ułożyć ikony, druga, żeby użyć Ulubionych zdefiniowanych w Domoticz.

config['last_update'] = 1;
Czy pokazywać czas aktualizacji naszych czujników?

config['hide_topbar'] = 0;
Ukrycie górnego paska

config['hide_seconds'] = 1;
Pokazanie sekund na zegarze

config['use_fahrenheit'] = 0;
config['use_beaufort'] = 0;
Czy używać stopni Celsjusza i skali Beauforta?

config['static_weathericons'] = 0;
Czy ikony pogody powinny być animowane?

config['hide_mediaplayer'] = 0;
Czy ukrywać ikony odtwarzacza multimedialnego, jeżeli nic nie jest odtwarzane?

var buttons = {} 
buttons.radio = {width:12, image: 'img/radio_on.png', title: 'Radio', url: 'http://rmf.fm'} 
buttons.news = {width:12, icon: 'fa-newspaper-o', title: 'News', url: 'http://news.google.pl'} 
buttons.log = {key:'log', width:12, icon:'fa-microchip', title: 'Domoticz Log', log:true, level: 2}

Pierwszy - pozwoli wyświetlić po naciśnięciu stronę z radiem internetowym, drugi stronę z wiadomościami, trzeci - log Domoticz. To tak w ramach ciekawostki.

To tyle na początek. Dopiero zaczynamy się jednak rozkręcać, bo możliwości są ogromne!

Edit: Część druga
Oraz Cześć trzecia

64 komentarze:

  1. Witaj, u mnie po wpisaniu do chrome adresu jest tylko czarna strona.
    Co jest nie tak?

    OdpowiedzUsuń
    Odpowiedzi
    1. Na pewno usunąłeś komentarze z CONFIG.js? Druga sprawa - możliwe, że jest gdzieś błąd w konfiguracji, czego Dasthicz nie raportuje. Dobrze by było zobaczyć jakiś przykład.

      Usuń
  2. Ten komentarz został usunięty przez autora.

    OdpowiedzUsuń
  3. Hej
    Mam taki problem że jak zmieniam adres IP do domoticza w ustawieniach na stronie Dashitcza to się zmienia.
    Natomiast jak edytuje plik CONFIG.js i tam zmieniam to IP to nić się nie dzieje.
    Skopiowanie konfiguracji z strony do Config nic nie daje.
    Otwarcie strony Dashitcza na innej przeglądarce powoduje ze trzeba na nowo ustawiać wszystko.
    Gdzie robię błądd
    Dzięki za pomoc.
    Pozdrawiam Jasiu

    OdpowiedzUsuń
    Odpowiedzi
    1. Ponownie to samo pytanie ;) Na pewno usunąłeś z domyślnego CONFIG.js komentarze? Nie wiem czemu, ale przykładowy CONFIG.js jest opatrzony komentarzem na początku i końcu pliku - czyli /* - */

      Usuń
  4. Dzięki wielkie pomogło.
    Pozdrawiam

    OdpowiedzUsuń
    Odpowiedzi
    1. Muszę to jakoś wyraźnie zaznaczyć, wiele osób ma z tym problem.

      Usuń
  5. Witam. Dopiero zaczynam zabawę z Domoticzem, stąd moje trochę banalne pytanie, czy Dashticz to nakładka na oryginalny interfejs domoticz? Czy po zainstalowaniu jej nadal możemy się logować do domyślnego interfejsu domoticz?
    Pozdrawiam

    OdpowiedzUsuń
    Odpowiedzi
    1. Dzień dobry! Tak, oczywiście można używać obu jednocześnie. Dashticz instaluje się jako dodatkowa ‚strona www’. Ja osobiście preferuję na telefonie ‚stary’ interfejs Domoticz (albo aplikację, ale o tym kolejny wpis) a na tablecie Dashticz. Nie negują się a uzupełniają

      Usuń
    2. Uruchomiłem Dashticz :D wszystko fryga pięknie, usunąłem komentarze, zmieniłem IP. Ale dodając kolejne elementy np pogodę, ulubione z Domoticza nie dzieje się nic, ekran jest taki jak na ustawieniach domyślnych, plik CONFIG.js zapisuje nowe parametry, a tablica ich nie wyświetla.

      Usuń
    3. Jakie ustawienia parametrów
      config['auto_positioning'] = 1;
      config['use_favorites'] = 1; ?

      Jeżeli chcesz sam sterować tym co ma być na ekranie, muszą być ustawione na =0.

      Usuń
    4. Wszystko na 0 i brak reakcji na zmiany, w wolnej chwili postawię system na innej karcie i protestuję na czystej malince, a na razie Imperihome, wystarcza w zupełności :)

      Usuń
  6. Jak dodać DarkSky do Dashticz ?

    OdpowiedzUsuń
    Odpowiedzi
    1. Za to odpowiada fragment:
      var frames = {}
      frames.weather = {refreshiframe:10000,height:230,frameurl:"//forecast.io/embed/#lat=50.117067&lon=18.981059&name=Tychy&color=#00aaff&font=Helvetica&fontcolor=#ffffff&units=si&text-color=#fff",width:12}

      i później na przykład:

      columns[2] = {} //Pogoda
      columns[2]['blocks'] = ['weather',frames.weather];
      columns[2]['width'] = 6;

      Usuń
    2. A jak to umieścić w tym samym miejscu co opisany widget w artykule zachowując ten sam układ i ulubione z Domoticza ? Ten kod ukrywa wszystkie inne elementy - mam tylko widget pogodowy

      Usuń
    3. No, niestety, albo jedno, albo drugie. Ale ja bym zdecydowanie doradzał zdefiniowanie ekranów na swój sposób...

      Usuń
  7. Witam

    U mnie po odznaczeniu komentarzy znikają wszystkie urządzenia, a jak przywrócę z CONFIG_DEFAULT.js to się pojawiają,może to wina aktualizacji????
    Pozdrawiam serdecznie

    OdpowiedzUsuń
    Odpowiedzi
    1. Ten komentarz został usunięty przez autora.

      Usuń
    2. Witam
      U mnie po usunięciu komentarzy giną wszystkie moje urządzenia, póki nic nie ruszam ( znaczy komenterzy) jest ok. Może to wina najnowszej aktualizacji???

      Pozdrawiam serdecznie

      Usuń
    3. No tak. Po wyłączeniu 'automatu' musisz wszystko sam zdefiniować od zera.

      Usuń
    4. Pewnie tak...
      Dziękuję i pozdrawiam

      Usuń
  8. witam wszystkich zainstalowałem sobie dashticz skonfigurowałem ładnie ale na androidzie mam problem z roletami mianowicie nie da sie otwierać. na komputerze widać że nie cały przycisk jest aktywny tylko część prosze o pomoc

    OdpowiedzUsuń
    Odpowiedzi
    1. Próbowałeś wersję betę? Wygląda na to, że autor naprawił ten błąd. Przy okazji dodał wiele ciekawych zmian. Głównie w wyglądzie, ale wszystkie bardzo mi się podobają.

      Usuń
  9. Próbowałem ale jak możesz to daj namiary na jakąś pewna wersje

    OdpowiedzUsuń
    Odpowiedzi
    1. https://www.youtube.com/watch?v=iu_00bvi6m0 to jest to o czym pisze

      Usuń
    2. Wczoraj aktualizowałem betę i widzę, że faktycznie jest coś nie w porządku z guzikiem 'w górę'.

      Usuń
  10. Ten komentarz został usunięty przez autora.

    OdpowiedzUsuń
  11. Rozwiązałeś problem rolety?

    OdpowiedzUsuń
  12. Dlaczego poza konfiguracją w CONFIG.js nie przyjmuje ode mnie jakiejkolwiek zmiany w ustawieniach bezpośrednio na stornie (trybik w prawym górnym rogu)?

    OdpowiedzUsuń
    Odpowiedzi
    1. Z tego co wiem, to zapisywanie przez stronę nie działa 'od strzału' - trzeba doinstalować dodatkowe oprogramowanie. Nie zgłębiałem tematu ponieważ wolę edycję w Notepad ++ i ładowanie przez FTP.

      Usuń
  13. Wiram ja mam taki problem, że nie zmienia mi tła cały czas mam bg2 zmieniam w pliku config i nic gdy chce zmienić w ustawieniach na stronie to po kliknieciu zapisz i tak powraca na bg2. komentarze usunięte co może być

    OdpowiedzUsuń
    Odpowiedzi
    1. Cześć. Zapisujesz z poziomu Dashticz czy bezpośrednio na Raspberry?

      Usuń
  14. Ten komentarz został usunięty przez autora.

    OdpowiedzUsuń
  15. okey już coś działa teraz tylko pytanie jak dostać klucz api Weather Underground to jest płatne ???

    OdpowiedzUsuń
    Odpowiedzi
    1. Dobrze wiedzieć, że działa - co było nie w porządku? Nie zdążyłem odpisać. Co do WU - od pewnego czasu jest, niestety, zablokowane. Wycofują się z oferowani API pogodowego z dniem 31.12.2018. Trzeba szukać alternatyw. Spróbuj z forecast.io, ale tam też nie jest idealnie, bo ostatnio są problemy z kolorem ikon pogodowych, nie wiem jak to zwalczyć.

      Usuń
    2. Ten komentarz został usunięty przez autora.

      Usuń
    3. Problem rozwiązuje dodanie frazy "&lang=nl" w ostatniej lini kodu.

      frames.weather = {refreshiframe:300000,height:275,frameurl:"//forecast.io/embed/#lat=52.450202&lon=-1.8315671000000293&name=solihull&color=#00aaff&font=Helvetica&fontcolor=#ffffff&units=si&text-color=#fff&units=si&text-color=#fff&lang=nl",width:12}

      A może masz sposób na powiększenie ikon w tym serwisie pogodowym?

      Usuń
  16. problem był po mojej stronie xd polecam czyścić pamieć podręczna przeglądarki profilaktycznie po każdej zmianie :)

    OdpowiedzUsuń
    Odpowiedzi
    1. Aaaaa tak tak. Tu się zgadzam :). Ja sobie zrobiłem różne tapety na pory dnia, ale finalnie to wyłączyłem. Muszę to przywrócić

      Usuń
    2. dobra działam dalej kombinuje w razie czegoś mogę liczyć na pomoc :)??

      Usuń
  17. Jest mozliwosc zalogowania sie do Dashitcza z "zewnatrz" ? tak jak do domoticza ?

    OdpowiedzUsuń
    Odpowiedzi
    1. Tak. Zależy wszystko od tego, jakie masz przekierowane porty, ale... Nie wiem czy to dobry pomysł - osobiście nie wiem jak do dobrze zabezpieczyć przed 'wtargnięciem' z zewnątrz.

      Usuń
    2. Domoticza mam przez no-ip loguje się wpisując adres+port

      można do tego dodac ścieżke do Dashticza ?

      Usuń
  18. Udało się ;)
    apache + symlink(ln -s /home/pi/dashticz_v2/ /home/pi/domoticz/www/dashticz) + haslo na dashticza i chodzi ;)

    OdpowiedzUsuń
  19. pytanie mam jak się do domoticza zalogować kiedy mam założone hasło ?

    format: http://uzytkownik:hasło@192.168.1.1:8086 - to nie działa

    OdpowiedzUsuń
    Odpowiedzi
    1. Najlepiej w Domoticz -> System -> Local networks i tam dopisać swoją maskę sieci, wtedy w lokalnej hasło nie będzie potrzebne. Ale jeżeli chcesz koniecznie z Dashticz, powinny zadziałać parametry:
      config['user_name'] = 'domoticz username';
      config['pass_word'] = 'domoticz password';

      Usuń
  20. Dashticz wyświetla czas opóźniony o 6 godzin. Na serwerze debian (na którym jest zainstalowany Domoticz) i na stronie oryginalnej Domoticza czas jest dobry. Co trzeba ustawić?
    Jacek

    OdpowiedzUsuń
  21. mam problem z odczytem kalendarza google nie ładuje go pomocy

    OdpowiedzUsuń
    Odpowiedzi
    1. Tak, to się niestety zgadza. Elementy kalendarza były przetwarzane na serwerze autora Dashticz, obciążenie było zbyt duże, musiał wyłączyć tą funkcję serwera. Rozwiązaniem jest skonfigurowanie tego po swojej stronie, przygotowuję aktualnie wpis jak sobie z tym problemem poradzić.

      Usuń
  22. var config = {}
    Cześć.
    Mam problem z uruchomieniem dashticza. Mam stałe IP. Domoticz stoi , wklepujac IP i port 8080 wchodzi normalnie. Ten sam IP ze slashem /dashticz_v2/ pokazuje jak niżej

    Dashticz v2 is loading...
    Timeout! Something is wrong please check your CONFIG.js
    For more help visit Dashticz v2 wiki

    Mój CONFIG.js jest praktycznie defaultowy... (oczywiście komentarz /* */ zdjęty..
    Dodam że mam założony login i pass na tym IP i próbowałem obu podejść http://admin:admin@mojIP..... oraz drugie podejście z user name i password w pliku config.... i nic..
    Ze zdjętym loginem i pass - nic.... dalej to samo.
    Zainstalowalem apache i php wg świeżego opisu i dalej zima.... Proszę o pomoc...
    config['language'] = 'pl_PL';
    config['domoticz_ip'] = 'http://91.xxx.xxx.6:8080/';
    config['app_title'] = 'Dashticz';
    config['domoticz_refresh'] = '5';
    config['dashticz_refresh'] = '60';

    cala reszta jak w defaultowym configu z instalacji.

    OdpowiedzUsuń
    Odpowiedzi
    1. Damy radę :D

      Słuchaj, na początek po tym co tutaj podałeś wrzuć na razie WYŁĄCZNIE
      config['auto_positioning'] = 1;
      config['use_favorites'] = 1;
      Zobaczymy, czy w ogóle łączysz się z Domoticz, bo wydaje mi się, że masz gdzieś błąd w konfiguracji i dlatego strona się nie wyświetla.

      Usuń
  23. Ave Cezar - zaczelo zyc :)

    Plik wyglada tak :

    var config = {}
    config['language'] = 'pl_PL';
    config['domoticz_ip'] = 'http://91.xx.xx.xx:8080';
    config['user_name'] = 'xxxx';
    config['pass_word'] = 'xxxx';
    config['auto_positioning'] = 1;
    config['use_favorites'] = 1;

    1. Co proponujesz uruchamiać w dalszej kolejności ?
    2. Dashticz pokazuje new version available. Jak pociagnac update dashticza ? sudo apt-get ? jakiś gitpull ? Instalacja jest wczorajsza...
    3. W config.js trzymac ip zewnetrzne czy wystarczy 192.168... na ktorym stoi malinka ?

    sudo nano /etc/apt/sources.list

    OdpowiedzUsuń
    Odpowiedzi
    1. 1. Spróbuj przejść do części drugiej i osadzić var columns = {}
      columns['bar'] = {}
      columns['bar']['blocks'] = ['logo','miniclock','sunrise','settings']
      2. Odpuść na razie. Jeżeli już to gitpull, to nie jest komponent systemowy
      3. Lokalne IMO

      Usuń
  24. Ten komentarz został usunięty przez autora.

    OdpowiedzUsuń
  25. Ten komentarz został usunięty przez autora.

    OdpowiedzUsuń
  26. Hej Cezar. Mam wszystkie swoje przyciski, zmieniona tapete i kilka buttons po prawej stronie. Z chwila kiedy aktywuje to co wyzej czyli var columns = {} itd...., wszystko mi znika, i zostaje wlasnie logo , maly zegar i kolko settings.

    Tapety Twoim sposobem nie da sie zmienic. Musi to byc w ten sposob: var screens = {}
    screens[1] = {}
    screens[1]['background'] = 'space.jpg';
    screens[1]['columns'] = [1,2,3]

    Pytanko: Co dokladnie oznaczaja kolumny...[1,2,3] ? nie widze roznicy gdy zmieniam te wartosci.

    OdpowiedzUsuń
    Odpowiedzi
    1. Tak, fakt, z kolejnymi aktualizacjami wycofano się z definiowania zmiennych przez var, tapety przeszły na poszczególne ekrany. W zmiennej 'columns' masz podaną kolejność pojawiania się elementów na ekranie, które zdefiniowałeś wcześniej.

      Usuń
  27. Dzięki za pomoc. Dzięki Tobie ruszyłem do przodu. Teraz to już tylko zabawa i podglądanie ciekawszych rozwiązań. Pozdrawiam i Wesołych Świąt :)

    OdpowiedzUsuń
    Odpowiedzi
    1. Sprawdź forum Domoticz poświęcone Dashticz - jest tam temat Show your dashboards and how to’s. Skarbnica wiedzy.

      Usuń
  28. Mapy: Open Weather Maps.
    Konfig:

    config['owm_api'] = 'XXXXXX';
    config['owm_city'] = 'Pcim Wielki';
    config['owm_name'] = '';
    config['owm_country'] = 'pl';
    config['owm_lang'] = '';
    config['owm_cnt'] = '4';

    OdpowiedzUsuń
    Odpowiedzi
    1. Dziękuję bardzo! Pora wrócić do konfigurowania :)

      Usuń