Home Assistant oraz RFLink

Jako że podjąłem decyzję o przejściu na Home Assistant (a przynajmniej zintegrowaniu wszystkich elementów z Domoticz w HA) musiałem jakoś podejść do tematu RFLink, czyli w moim przypadku transmisji na paśmie 433MHz.. Na początku mojej 'Drogi Smart' był to całkiem popularny i, co ważne, tani standard.

Opisane (http://cezarowy.blogspot.com/2017/09/rflink.html) elementy to na przykład gniazdka i termometry. O ile z nich w większości zrezygnowałem (gniazdka mając transmisję jednokierunkową nigdy nie dawały pewności, że są wyłączone/włączone), to zostało mi kilka ważnych elementów:

– Owl Micro + do monitorowania zużycia energii –
http://cezarowy.blogspot.com/2017/09/owl-micro.html
– Czujniki otwarcia drzwi/okien – http://cezarowy.blogspot.com/2017/04/czujnik-otwarciazamkniecia-drzwi-w.html
– 'Nieśmiertelny' termometr na zewnątrz
– Sterownik ekranu projektora – http://cezarowy.blogspot.com/2017/12/pilot-do-ekranu-dziaajacy-na-433mhz.html
– Czujniki dymu

Jak widać – skórka była warta wyprawki.

Spędziłem już z Home Assistant trochę czasu i muszę powiedzieć, że po zapoznaniu się z nim MOIM ZDANIEM nie ma już odwrotu od przejścia na niego z Domoticz. Po prostu wychodzą na wierzch wszystkie wady Domoticz (brak modułowości, brak porządnej dokumentacji, problematyczne aktualizacje, czasem losowy start w przypadku posiadania skryptów i dodatków).

Jak w większości dodatków do Home Assistant – instalacja i konfiguracja jest banalna.

W configuration.yaml dodajemy linie:

rflink:
  port: /dev/serial/by-id/usb-Arduino__www.arduino.cc__0042_5563930393435111A172-if00

Dane dotyczące portu odczytałem wchodząc po prostu do folderu /dev/serial/by-id/, nadmieniam, że mam system postawiony na DietPi z HA w kontenerze Docker.
Sprawdzenie konfiguracji, restart, działa. Pierwsze wpisy pojawiły się w logu:
Pozostało dopisać elementy (dla czujników dymu jako switch) w:
– switches.yaml
  – platform: rflink
    automatic_add: false
    devices:
      fa20rf_fca258_01:
        name: Alarm Zosia
  – platform: rflink
    automatic_add: false
    devices:
      fa20rf_ff6994_01:
        name: Alarm Staszek
– sensors.yaml (dla czujników temperatury oraz OWL)
  – platform: rflink
    automatic_add: false
    devices:
      alectov4_5fc8_temp:
        sensor_type: temperature
  – platform: rflink
    automatic_add: false
    devices:
      owl_cm180_000d_watt:
        sensor_type: watt
        name: Owl Waty
  – platform: rflink
    automatic_add: false
    devices:
      owl_cm180_000d_kwatt:
        sensor_type: kilowatt
        name: Owl Kilowaty
Większy zgryz miałem ze sterownikiem do projektora. Bo pod jednym kodem były trzy komendy: UP, DOWN, STOP. Znajdź tu jakiś przycisk w HA, który to obsługuje…
Ale poszukałem w logach, pilot wysyłał je w następujący sposób:
No to fru do Developer tools -> Services:
Dalej już poszło jak z płatka, wystarczyło napisać skrypty:
screen_down:
  sequence:
    service: rflink.send_command
    data:
      command: 'down'
      device_id: dooya_12b75900_01  
screen_up:
  sequence:
    service: rflink.send_command
    data:
      command: 'up'
      device_id: dooya_12b75900_01  
screen_stop:
  sequence:
    service: rflink.send_command
    data:
      command: 'stop'
      device_id: dooya_12b75900_01        

oraz jeden automat, który wystartuje i zatrzyma po określonym czasie:
screen_down_and_stop:
  sequence:
    – service: rflink.send_command
      data:
        command: 'down'
        device_id: dooya_12b75900_01  
    – delay: ’00:00:48′
    – service: rflink.send_command
      data:
        command: 'stop'
        device_id: dooya_12b75900_01

Później wystarczyło podpiąć pod przyciski w ui-lovelace.yaml:
  – type: button
    name: Screen Down
    tap_action:
      action: call-service
      service: script.turn_on
      service_data:
        entity_id: script.screen_down
  – type: button
    name: Screen Up
    tap_action:
      action: call-service
      service: script.turn_on
      service_data:
        entity_id: script.screen_up
  – type: button
    name: Screen Stop
    tap_action:
      action: call-service
      service: script.turn_on
      service_data:
        entity_id: script.screen_stop
  – type: button
    name: Screen Down and Stop
    tap_action:
      action: call-service
      service: script.turn_on
      service_data:
        entity_id: script.screen_down_and_stop
Ten system jest naprawdę niesamowity.

dzVents – skrypt informujący o większym zużyciu prądu, gdy nie ma nas w domu

Aloha!

Od pewnego czasu miałem w głowie (w sumie jeden z podstawowych jakie powinienem napisać!) skrypt w dzVents:
sprawdzam zużycie prądu w domu i gdy jest zbyt duże o zadanych godzinach, w danych dniach – wyślij mi e-mail. W dniach tygodnia i w godzinach o których przeważnie jesteśmy w pracy.

Dlaczego? A może zapomniałem o włączonym żelazku? A może włączyło się coś, co nie powinno?

Z tego to oto powodu system powinien:
– od poniedziałku do piątku w godzinach 8:15 – 15:00 sprawdzić zużycie prądu
– jeżeli jest wyższe niż 400 Watt ma mi wysłać e-mail z powiadomieniem

— Author: Adam Sobczak
— Date created: 2018-10-18
— Script takes current energy reading, and when it’s bigger than suggested on weekdays between 8:15 – 15:00 – notifies user.
return {
    on = {
        [’timer'] = {’every 15 minutes between 8:15 and 15:00 on mon,tue,wed,thu,fri'}
    },
    execute = function(domoticz)
    local Energy = domoticz.devices(’OWL').usage
    local EnergyLimit = 400

    function round(num, numDecimalPlaces)
          local mult = 10^(numDecimalPlaces or 0)
          return math.floor(num * mult + 0.5) / mult
        end
   
    if (Energy > EnergyLimit) then
            domoticz.notify(’Energia', 'Uwaga, zużycie energii większe niż zwykle: ' ..round(Energy,1) .. '!', domoticz.PRIORITY_NORMAL)
        end
    end
}

Tyle. Proste i działa. Powodzenia przy próbach zrobienia tego w Blockly 😉

Smart home, Domoticz, Raspberry – z czym się to je

Czytając swojego bloga (serio – czytam czasem co naskrobałem dwa lata temu, aby poprawiać 'warsztat') doszedłem do wniosku, że nie zrobiłem nawet małego wstępu dla amatorów tematów Smart house i Raspberry Pi. Odgórnie przyjąłem, że wszyscy już wiedzą o co chodzi i od razu, 'z grubej rury' przystąpiłem do opisywania tematów. Czasem dość trudnych.

Przy okazji rozpoczęcia strony na Facebook, dotarło do mnie, że nie mam co wrzucić jako początek, jak zainteresować ludzi, wytłumaczyć podstawy. Temu właśnie posłuży ten wpis.

Zaczynamy!

Designed by Freepik

Smart home, smart home, IoT, IoT. Bardzo głośne ostatnio tematy. Czyli tak zwane 'Inteligentne domy'. Osobiście wolę termin 'Sterowane', 'Odpowiednio sterowane' lub 'Automatyczne'. Inteligencję rezerwuję dla tworów żywych.

Dom taki na podstawie czujników czy też informacji z zewnątrz (na przykład pogodowych) potrafi odpowiednio się 'dostosować' do naszych potrzeb.

Dość często wymienia się tutaj przykłady:
– uruchomienia podlewania gdy prognozowany jest brak opadów przez kilka dni,
– automatyczne otwieranie rolet/markiz o poranku
– czy też domykanie ich, gdy słońce świeci akurat w konkretne okno,
– sterowanie ogrzewaniem w domu gdy nas nie ma
– lub ustawianie zadanej temperatury, bo akurat wcześniej wracamy z pracy/wyjazdu,
– inteligentne monitorowanie posesji – jeżeli kurier dzwoni wideofonem przy bramie – wyślij zdjęcie i jeżeli potrzeba – otwórz mu furtkę aby nie bawił się w ogrodową koszykówkę przesyłką,
– ustawianie natężenia świateł w zależności od potrzeb – czytanie/oglądanie filmu/pełna jasność
– łączenie powyższych elementów w sceny – jeżeli wybieram tryb Kino – rozwiń ekran, włącz amplituner, wyłącz światła
– sterowanie głosowe
– powiadamianie głosowe/sms/e-mail

Wszystkie te elementy można zrealizować 'na bogato' zlecając je wyspecjalizowanej firmie, lub hobbystycznie. Temu drugiemu podejściu dedykowany jest blog. Niestety, podczas budowy domu popełniłem kilka błędów, jednym z nich było pociągnięcie zbyt małej ilości kabli do przesyłania danych, 'bo przecież teraz wszystko po WiFi'. Wymusiło to (na ponowne kucie ścian i remonty nie mam ochoty) ustawienie zainteresowania na transmisję bezprzewodową.

Nie jestem profesjonalistą w tym temacie. Cały czas mnóstwo się uczę i wiele tematów jeszcze przede mną. Jeżeli coś jednak zaczynam i mnie wciągnie – 'nie ma zmiłuj' – nie będę spał, ale temat muszę rozgryźć a problemy usunąć. Kropka.

Dlatego zainteresowały mnie platformy Raspberry Pi, Wemos, Arduino. Stąd już krok do komunikacji 433MHz, WiFi, ZigBee, Z-Wave. Czujniki temperatury, wilgotności, zalania, dymu, monitorowanie zużycia energii. Internetowe prognozy pogody, dane w formacie JSON. Temat jest niesamowicie rozległy i ciężko powiedzieć: 'To jest jedyne dobre rozwiązanie'.

Są systemy płatne, kompleksowo zamykające temat przez autoryzowanych instalatorów – Fibaro, Grenton to tylko przykłady polskich rozwiązań, na rynku jest ich mnóstwo. Oferują sterowanie światłem, ogrzewaniem, bezpieczeństwem, czujnikami. Są jednak relatywnie drogie (oczywiście punkt widzenia każdej osoby będzie się różnił) oraz zamknięte, jeżeli chodzi o sposób zaimplementowanych rozwiązań.

Osobiście szukałem systemu darmowego aby sprawdzić, czy Smart home się w ogóle u mnie przyjmie, czy jest sensowny. Patrząc z perspektywy czasu – jak najbardziej tak! Do tego przydałoby się oprogramowanie, które to wszystko zepnie, odczyta dane z czujników, prześle do przekaźników, zapisze do bazy danych, umożliwi analizy, reakcję.

Mój wybór padł na Domoticz. Trzy lata temu 'próg wejścia' w jego przypadku był niższy niż w Home assistant. Aktualnie coraz częściej rozważam opuszczenie Domoticz, albo chociaż na pewien czas równoległe sprawdzenie Home assistant. Wydaje się platformą stabilniejszą, bardziej rozwojową ze względu na sposób jego budowy. Aktualnie jednak – Domoticz!

Dla osób początkujących ważna jest również kolejna informacja – oba systemy są darmowe, możliwe do zainstalowania na Raspberry Pi, komputerach/serwerach obsługujących Linux, Windows, MacOS. Nie nie ryzykujecie zaczynając przygodę ze Smart home.

Dlaczego akurat on?
– po zainstalowaniu na Raspberry Pi (i nie tylko) można go od razu używać, bez dodatkowych skryptów
– dla początkujących praktycznie wszystko da się wyklikać
– bogaty zbiór urządzeń, które są obsługiwane
– na tamten czas dość ładny interface użytkownika

Porównując koszty, są od 5 do 10 razy mniejsze niż przy rozwiązaniach dedykowanych, nadmieniam jednak, że spędziłem mnóstwo czasu ucząc się, dostrajając elementy do swoich potrzeb, instalując, testując. Nie każdy ma ochotę na takie hobby. Mnie akurat wciągnęło.

Kilka przykładów:

Dashboard (czyli główny pulpit). Z tego miejsca mogę sprawdzić status tego co się dzieje w domu – kamery, gniazdka, włączone urządzenia.

Przełączniki – światła, sterowanie IR (TV, wzmacniacz), gniazdka zdalnie włączane, LEDy, system audio multi room

Sceny – połączenie kilku elementów w łańcuch zdarzeń. Jeżeli oglądamy film, to wyłącz światła, włącz amplituner, subwoofer…

Temperatura – dane z każdego z czujników. Łącznie z wilgotnością.

Elementy użytkowe – status użycia Raspberry Pi, szybkość łącza internetowego, nawodnienie kwiatów, pobór prądu w domu

Domoticz umożliwia również robienie raportów w formie graficznej. Tutaj – wykres temperatury na zewnątrz

Ustawianie warunków włączenia/wyłączenia. Tutaj – Włącz światła przed domem godzinę po zachodzie słońca i wyłącz zawsze o 22:00.

Warunki powiadamiania. Tutaj – Jeżeli włączy się światło przed domem – wyślij e-mail na żądany adres

Jeżeli prezentacja danych w Domoticz nam nie odpowiada, zawsze można doinstalować dodatkowe systemy zbierające i prezentujące dane. Na przykład InfluxDB i Grafana.

Zachęcam do przeczytania poprzednich wpisów, postarałem się ułożyć opisane już tematy w pewne pakiety tematyczne:

– Przede wszystkim – Domoticz
– Systemy audio multi-room – Logitech media server, Max2Play
– Zdalny dostęp do Raspberry i Domoticz – Dataplicity
– Czujniki otwarcia/zamknięcia drzwi – Kerui
– Centralki obsługujące różne transmisje: RFLink, Xiaomi Mijia Smart Home
– Prezentacja danych/sterowania elementami domu: Dashticz, aplikacja Pilot, aplikacja MiHome
– Monitorowania zużycia energii: Owl Micro +
– Sterowanie głosem – Amazon Alexa – Echo Dot, Skille, Kalendarze
– Chipy ESP8266 – Wemos D1 Mini
– Instalacja, konfiguracja: Raspberry, Domoticz
– BLE – Bluetooth Low Energy – Mi flora
– Przełączniki Sonoff – Basic, POW, S20
– Sterowanie oświetleniem – włączniki Xiaomi, Milight
– Piloty uniwersalne IR – Broadlink
czujnik smogu
– Zdarzenia, powiadamianie – bezpośrednio w interface Domoticz, skrypty
pourlopowe wnioski

Nie twierdzę, że moja ścieżka jest jedyną dobrą. Ile osób, tyle możliwych rozwiązań, pomysłów, różnorakich podejść. Eksperymentujcie, sprawdzajcie!

Pozdrawiam, życząc miłej i przyjemnej lektury
Cezar

P.S. Życzę również dużo myślenia, potu, zastanawiania się czemu nie działa, szukania rozwiązań problemów.

Dashticz – część trzecia

Trzecia część opisu Dasthicz przed Wami. Mam nadzieję, że przyda się przy Waszych konfiguracjach i pięknym zdefiniowaniu pulpitów. Mnie ustawianie i przestawianie sprawiło mnóstwo frajdy. 
Ostrzegam, może być nudno! To już same informacje dla takich świrów jak ja 😉
Poprzednie (ważne, ponieważ każdy wpis jest rozwinięciem poprzedniego) tutaj:
Teraz zajmiemy się już innymi dodatkami. Może mniej ważnymi, ale czyniącymi system jeszcze ciekawszym. Do tego dojdzie czwarta część poradnika, skupiająca się na pliku css, gdzie możemy sterować bardziej wyglądem, ikonami, kolorem, fontem, itp.
Gwoli wyjaśnienia – czasem prezentowane tu ustawienia mogą się Wam wydać nielogiczne – tapety, ilość czujników, etc. Wrzuciłem je tutaj głównie aby pokazać, że można to zrobić i jak to zrobić – wybierzcie wygląd i ułożenie takie jak Wam pasuje 🙂
Na stronie trzeciej wrzucimy podgląd kamer oraz dodatki związane z odtwarzaniem muzyki: status odtwarzaczy Logitech (u mnie piCorePlayer), kilka stacji radiowych odtwarzanych bezpośrednio z tabletu oraz klient Spotify.

Czwarta strona to wykres – aby zaznajomić Was z taką możliwością, log Domoticz, mapa pogodowa Polski oraz status naszej Maliny.

Strona piąta zawiera newsy w formacie RSS oraz wyświetlany ruch w okolicach przy pomocy Google Maps

Szósta i siódma – czujniki i elementy od Xiaomi. Aby pokazać paski to przyciemniania światła, selektory i inne.

Jedziemy!

Tekstem zwykłym, nie wytłuszczonym, są parametry już wcześniej omawiane, nowe są pogrubione. Pozwolę sobie (a jak, w końcu mogę) opisać je bezpośrednio pod spodem. Link do pełnego pliku znajduje się TUTAJ.

var config = {}
config[’domoticz_ip'] = 'http://IP:PORT';
config[’app_title'] = 'Dom';
config[’domoticz_refresh'] = '5′;
config[’dashticz_refresh'] = ’60′;
config[’news_scroll_after'] = ’15′;
config[’standby_after'] = 0;
config[’auto_swipe_back_to'] = 0;
config[’auto_swipe_back_after'] = ’30′;
config[’auto_slide_pages'] = 0;
config[’slide_effect'] = 'slide';
config[’standard_graph'] = 'month';
config[’language'] = 'pl_PL';
config[’timeformat'] = 'DD-MM-YY HH:mm';
config[’calendarformat'] = 'dd DD.MM HH:mm';
config[’calendarlanguage'] = 'pl_PL';
config[’boss_stationclock'] = 'RedBoss';
config[’gm_api'] = 'Klucz_API_Google_Maps';
config[’gm_zoomlevel'] = 1;
config[’gm_latitude'] = Szerokość;
config[’gm_longitude'] = Długość;
config[’wu_api'] = 'Klucz_Weather_Underground';
config[’wu_city'] = 'Miasto';
config[’wu_name'] = 0;
config[’wu_country'] = 'PL';
config[’idx_moonpicture'] = 7;
config[’spot_clientid'] = 'ID_Spotify_Developer_Mode';

Tutaj już pisałem poprzednio – trzeba postarać się o stworzenie aplikacji w Spotify.


Ważne, aby na końcu nacisnąć Save!

Tam stworzone ID musimy wpisać w Dashticz.

config[’selector_instead_of_buttons'] = 1;
config[’auto_positioning'] = 0;
config[’use_favorites'] = 0;
config[’last_update'] = 0;
config[’hide_topbar'] = 1;
config[’hide_seconds'] = 1;
config[’hide_seconds_stationclock'] = 1;
config[’use_fahrenheit'] = 0;
config[’use_beaufort'] = 0;
config[’translate_windspeed'] = 1;
config[’static_weathericons'] = 0;
config[’hide_mediaplayer'] = 0;

var buttons = {}
buttons.webcam = {width:12, isimage:true, refresh:2000, image: 'http://192.168.1.155/cgi/jpg/image.cgi', url: 'http://192.168.1.155/cgi/jpg/image.cgi'}
buttons.webcam1 = {width:12, isimage:true, refresh:2000, image: 'http://192.168.1.156/image/jpeg.cgi', url: 'http://192.168.1.156/image/jpeg.cgi'}
buttons.log = {key:’log', width:12, icon:’fa-microchip', title: 'Domoticz Log', log:true, level: 2}

W sekcji Buttons możemy zdefiniować na przykład kamery oraz link do loga Domoticz.

buttons.moon = {width:6, isimage:true, refreshimage:60000, image: 'moon'}

var calendars = {}
calendars.private = { key:’private', width:12, maxitems: 6, icalurl: 'https://calendar.google.com/calendar/ical/Klucz_Kalendarza@group.calendar.google.com/public/basic.ics' }

var _STREAMPLAYER_TRACKS   = [
{„track”:1,”name”:”Antyradio”,”file”:”http://ant-kat.cdn.eurozet.pl:8604/;stream”},
{„track”:2,”name”:”Trójka”,”file”:”http://stream3.polskieradio.pl:8904/listen.pls”},
{„track”:3,”name”:”Slam! NonStop”,”file”:”http://stream.radiocorp.nl/web10_mp3″},
{„track”:4,”name”:”100%NL”,”file”:”http://stream.100p.nl/100pctnl.mp3″},
  ];

A tutaj przypisujemy stacje radiowe, które streamują swoje programy online. Pobieramy linki na przykład stąd.

var frames = {}
frames.weather = {refreshiframe:10000,height:230,frameurl:”//forecast.io/embed/#lat=Szerokość&lonDługość&name=Miasto&color=#00aaff&font=Helvetica&fontcolor=#ffffff&units=si&text-color=#fff”,width:12}
frames.poland = {refreshiframe:10000,height:230,frameurl:”https://api.sat24.com/animated/PL/visual/1/Central%20European%20Standard%20Time/357718″,width:4}

Tutaj zachciało mi się animowanej mapy pogody w Polsce. Więc ją znalazłem i wstawiłem 😀

var maps = {}
maps.miasto1 = { width:12, latitude: Szerokość, longitude: Długość, zoom:10 };
maps.miasto2 = { width:12, latitude: Szerokość, longitude: Długość, zoom:10 };

Ta sekcja mówi Dashticz dla jakich koordynatów wyświetlimy mapy ruchu drogowego. Teksty Szerokość i Długość zastępujemy własnymi koordynatami. Same cyfry, bez apostrofów, np.: 10.232

var blocks = {}

blocks[24] = {}
blocks[24][’title'] = 'Przed domem'
blocks[100] = {}
blocks[100][’title'] = 'Roomba'
blocks[103] = {}
blocks[103][’title'] = 'Dysk MP3′
blocks[21] = {}
blocks[21][’title'] = 'Sauna'
blocks[22] = {}
blocks[22][’title'] = 'Sypialnia'
blocks[166] = {}
blocks[166][’title'] = 'Yeelight'

//Tytuły temperatury
blocks[93] = {}
blocks[93][’title'] = 'Ogród'
blocks[133] = {}
blocks[133][’title'] = 'Salon'
blocks[118] = {}
blocks[118][’title'] = 'S'
blocks[121] = {}
blocks[121][’title'] = 'Z'
blocks[160] = {}
blocks[160][’title'] = 'Sypialnia'
blocks[142] = {}
blocks[142][’title'] = 'Droga do pracy';
blocks[142][’width'] = 6;
blocks[142][’icon'] = 'fa-female';

//Tytuły czujników
blocks[59] = {}
blocks[59][’title'] = 'Czujnik dymu'
blocks[132] = {}
blocks[132][’title'] = 'Kwiatki'

blocks[163] = {}
blocks[163][’title'] = 'Księżyc'

blocks[’136_1′] = {}
blocks[’136_1′][’title'] = 'Aktualnie'
blocks[’136_2′] = {}
blocks[’136_2′][’title'] = 'Dzisiaj'

blocks[’blocktitle_1′] = {} //Switches – general
blocks[’blocktitle_1′][’type'] = 'blocktitle';
blocks[’blocktitle_1′][’title'] = 'Gniazdka';

blocks[’blocktitle_2′] = {} //Control – general
blocks[’blocktitle_2′][’type'] = 'blocktitle';
blocks[’blocktitle_2′][’title'] = 'Czujniki';

blocks[’blocktitle_3′] = {} //Temperature – general
blocks[’blocktitle_3′][’type'] = 'blocktitle';
blocks[’blocktitle_3′][’title'] = 'Temperatura';

blocks[’blocktitle_4′] = {} //Equipment – general
blocks[’blocktitle_4′][’type'] = 'blocktitle';
blocks[’blocktitle_4′][’title'] = 'Sprzęt';

blocks[’blocktitle_5′] = {} //Owl – general
blocks[’blocktitle_5′][’type'] = 'blocktitle';
blocks[’blocktitle_5′][’title'] = 'Zużycie prądu';

blocks[’blocktitle_6′] = {} //Malinka – general
blocks[’blocktitle_6′][’type'] = 'blocktitle';
blocks[’blocktitle_6′][’title'] = 'Malinka';

blocks[’blocktitle_8′] = {} //Xiaomi
blocks[’blocktitle_8′][’type'] = 'blocktitle';
blocks[’blocktitle_8′][’title'] = 'Xiaomi';

blocks[’blocktitle_7′] = {} //Czas do pracy – general
blocks[’blocktitle_7′][’type'] = 'blocktitle';
blocks[’blocktitle_7′][’title'] = 'Droga do pracy';

Powyższe w sumie same się komentują – tytuły nagłówków do naszych sekcji.

blocks[’news_1′] = {}
blocks[’news_1′][’feed'] = 'https://cors-anywhere.herokuapp.com/http://wiadomosci.gazeta.pl/pub/rss/wiadomosci_kraj.htm';
blocks[’news_1′][’maxheight'] = 113;

blocks[’news_2′] = {}
blocks[’news_2′][’feed'] = 'https://cors-anywhere.herokuapp.com/http://kanaly.rss.interia.pl/swiat.xml';
blocks[’news_2′][’maxheight'] = 250;

Kanały RSS! Nie dość, że pokażą nam tekst, to jeszcze zdjęcia w przypadku tych bardziej bogatych w treści.

var columns = {}
columns[’bar'] = {}
columns[’bar'][’blocks'] = [’logo',’miniclock',’sunrise',’settings']

columns[1] = {} //Gniazdka
columns[1][’blocks'] = [’blocktitle_1′,24,100,103,21,22,166,’s1′,’s2′];
columns[1][’width'] = 6;

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

columns[3] = {} //Kamery
columns[3][’blocks'] = [buttons.webcam,buttons.webcam1];
columns[3][’width'] = 5;

columns[4] = {} //RSS news
columns[4][’blocks'] = [’news_1′,’news_2′];
columns[4][’width'] = 5;

columns[5] = {} //Księżyc
columns[5][’blocks'] = [buttons.moon];
columns[5][’width'] = 3;

columns[6] = {} //LMS players
columns[6][’blocks'] = [151,150,157,80];
columns[6][’width'] = 5;

Nasze kolejne bloki a w nich:
– dwie kamery
– wiadomości RSS 
– ikona fazy księżyca
– Logitech Media Players oraz radia status odtwarzacza KODI

columns[7] = {} //Czujniki
columns[7][’blocks'] = [’blocktitle_2′,59,147,132,112,195];
columns[7][’width'] = 6;

columns[8] = {} //Temperatura
columns[8][’blocks'] = [’blocktitle_3′,93,133,’118_1′,’121_1′,160,’118_2′,’121_2′];
columns[8][’width'] = 3;

columns[9] = {} //Sprzęt
columns[9][’blocks'] = [’blocktitle_4′,72,73,74,75,76,120,122,123];
columns[9][’width'] = 6;

columns[10] = {} //Owl
columns[10][’blocks'] = [’blocktitle_5′,’136_1′,’136_2′,’blocktitle_7′,142];
columns[10][’width'] = 3;

columns[11] = {} //Pogoda, słońce, księżyc, zegar
columns[11][’blocks'] = [’clock',’currentweather_big',’sunrise',buttons.moon,163,’stationclock']
columns[11][’width'] = 3;

columns[12] = {} //Graphs
columns[12][’blocks'] = [’graph_136′,buttons.log,frames.poland];
columns[12][’width'] = 5;

Tutaj przykład wykresu. UWAGA – zgodnie z parametrem config[’standard_graph'] = 'month';

domyślnie ustawia się na miesiąc. Wpiszcie wartość, jaka Wam pasuje (czyli 'day', 'week',’month'). Kolejny element to log Domoticz i animowana mapa pogody.


columns[13] = {} //Music
columns[13][’blocks'] = [’streamplayer',’spotify'];
columns[13][’width'] = 5;

Odtwarzacz stream’ów z radiami internetowymi oraz plugin Spotify. Ze Spotify trzeba pamiętać, że aplikacja musi być zainstalowana na tablecie! Do tego – u mnie zaczynała działać, gdy coś najpierw odtworzyłem w aplikacji i dopiero przeszedłem do strony. Za pierwszym razem, później już bez problemu.

columns[14] = {} //Graphs
columns[14][’blocks'] = [maps.miasto1,maps.miasto2];
columns[14][’width'] = 5;

Mapy Google z natężeniem ruchu drogowego.

columns[15] = {} //Malinka
columns[15][’blocks'] = [53,54,49,52,51];
columns[15][’width'] = 5;

Czujniki naszego Raspberry. Temperatura, pamięć, zajętość dysków, itp.

columns[16] = {} //Xiaomi
columns[16][’blocks'] = [’blocktitle_8′,167,168,169,170,171,172];
columns[16][’width'] = 10;

columns[17] = {} //Xiaomi
columns[17][’blocks'] = [’blocktitle_8′,173,174,175,177,190,192,208,209];
columns[17][’width'] = 10;

A tu już elementy od Xiaomi.

var screens = {}
screens[1] = {}
screens[1][’background'] = 'bg1.jpg';
//screens[1][’background_morning'] = '/Cezar/image004.jpg'; //morning = 06:00-10:59
//screens[1][’background_noon'] = '/Cezar/image003.jpg'; //noon = 11:00-15:59
//screens[1][’background_afternoon'] = '/Cezar/image002.jpg'; //afternoon 16:00-19:59
//screens[1][’background_night'] = '/Cezar/image005.jpg'; //night = 20:00:05:59
screens[1][’columns'] = [11,2,8,10];

screens[2] = {}
screens[2][’background'] = 'bg3.jpg';
screens[2][’columns'] = [1,7,9];

screens[3] = {}
screens[3][’background'] = 'bg8.jpg';
screens[3][’columns'] = [3,6,13];

screens[4] = {}
screens[4][’background'] = 'bg_morning.jpg';
screens[4][’columns'] = [12,15];

screens[5] = {}
screens[5][’background'] = 'bg_noon.jpg';
screens[5][’columns'] = [4,14];

screens[6] = {}
screens[6][’background'] = 'bg_night.jpg';
screens[6][’columns'] = [16];

screens[7] = {}
screens[7][’background'] = 'bg2.jpg';
screens[7][’columns'] = [17];

Uffff… Dużo tego, ale po zaznajomieniu się z tym wszystkim będzie Wam na pewno łatwiej stworzyć własne pulpity.

Generalna zasada:
– najpierw ustawienia
– później definicje bloków, zmiana tytułów, itp.
– ustawienie elementów w kolumnach
– wrzucenie kolumn na ekrany

POWODZENIA!

Domoticz i koszty zużytego prądu

Człowiek uczy się całe życie. To pewne.

Mnie udało się dziś przez przypadek dowiedzieć jak Domoticz wylicza koszty zużytego prądu.

W sumie zawsze miałem to przed oczami, ale jakoś nigdy do mnie nie dotarło. Skoro można sumować zużytą energię, to powinna być też możliwość przeliczenia jej na pieniądz. I jest!

Zacznijmy od zdefiniowania taryfy. W Setup -> Settings, na zakładce Meters/Counters możemy podać wartość w naszym przypadku.

Później wystarczy wejść na Log czujnika. Może to być zarówno Owl jak i gniazdko (na przykład Xiaomi). Tutaj mamy raporty zużycia godzinowego. Teraz przechodzimy na Report.

I tu mamy interesujące nas wartości. Łącznie z kosztem zużycia.

Jedyny minus jest taki, że są to wartości miesięczne. Ale dobre i to!

Teraz tylko muszę sprawdzić jak to się ma do rzeczywistych danych i sprawdzić inne parametry z tym związane w Domoticz.

OWL Micro +

Tym razem zajmę się urządzeniem, które jest mniej popularne, ale bardzo przydatne.

Owl Micro + jest miernikiem zużycia energii elektrycznej o bardzo prostej instalacji i ciekawej dla nas zasadzie przekazywania informacji.

Montujemy go dość prosto – w zależności od potrzeb i instalacji w domu zakładamy na żyłę prądową specjalną klemę. Ja, z powodu podzielenia instalacji na trzy fazy – zakupiłem dwie dodatkowe. W standardowym pakiecie jest tylko jedna klema plus czytnik oraz wyświetlacz.

Co ważne! Aby analizować każdą fazę osobno trzeba zakupić trzy centralki! W moim przypadku jednak chodziło o sumaryczne zużycie w domu, nie było więc to dla mnie problemem.

Reasumując – jednostka centralna do której podłączamy trzy czujniki podaje zużycie prądu jako sumę. Z nią, bezprzewodowo, kontaktuje się wyświetlacz. Fortunne okazało się to, że używa do tego pasma 433MHz. Protokół jest rozpoznawany bez problemu przez RFLink, instalacja okazała się więc formalnością i czystą przyjemnością.

Sprzęt został od razu rozpoznany przez RFLink i dodany do Domoticz na zakładce Devices.

Następnie odczyt z Domoticz pięknie wyświetlił wartość aktualną.

Oraz po pewnym czasie pokazał wykresy…

Kolejnym krokiem może być dodanie obsługi zdarzeń związanych z poborem prądu – wartości minimalne, maksymalne, powiadamianie o większym zużyciu gdy jesteśmy poza domem (co może znaczyć, że żelazko nie jest wyłączone) i inne podobne.