wtorek, 4 czerwca 2019

Jak retro, to może tym bardziej prawdziwe retro :)

Dotarły nowe sprzęty, które trzeba będzie skonfigurować, wgrać oprogramowanie i zamontować! Sounds like fun!

Do mojego stanowiska retro dotarły dodatki, które je trochę sprowadzą w XXI wiek.


Do Atari 65XE postaram się zmontować SDrive-MAX, jak opisano tutaj: http://devzine.pl/2019/05/08/jak-zbudowac-ulepszony-sdrive-max


Amiga 500 dostanie stację Gotek i porządny kabel wizyjny.


Home Assistant - dodajemy kolejne komponenty i konfigurujemy!

Dobry wieczór. Pozwolę sobie kontynuować serię artykułów o Home Assistant, a dokładnie rzecz biorąc to poprzez instalację Hass.io.

Home Assistant różni się od Domoticz wieloma elementami.

Podejście do komponentów umożliwiających komunikację z urządzeniami, serwisami pogodowymi, itp. jest zrealizowane inaczej niż w Domoticz. Jest oficjalna strona z setkami dodatków, które po prostu konfiguruje się w systemie. To była dla mnie największa bariera (nadmieniam, że raczej mentalna) w konfigurowaniu systemu. Można dodawać nieoficjalne repozytoria, ale na to mam jeszcze zbyt mało wiedzy, ale ilość dostępnych i tak przytłacza!

Muszę też powiedzieć jedno - łatwiej mi jest się przestawiać na Home Assistant głównie dlatego, że większość problemów, poszukiwań rozwiązań, elementów systemu miałem już skonfigurowane po stronie Domoticz. W takim wypadku wystarczyło je po prostu dodać. Nie otwierałem drzwi ponownie, nie walczyłem z materią. Widać, że czas poświęcony na naukę 'nie poszedł w las'. Nie musiałem szukać klucza do Xiaomi Gateway ani Air Purifier. Nie musiałem flashować sprzętów Sonoff - już to miałem zrobione. Pozyskanie obrazu z kamery również już przećwiczyłem.

Nadal nie wiem jak programować automatykę, ale wszelkie elementy to tego potrzebne mam już działające. To będzie kolejny krok.

Zacznijmy od prostego przykładu:

https://www.home-assistant.io/components/moon/

Fazy księżyca. W Domoticz pisaliśmy skrypty, przypisywaliśmy w nich wartości do konkretnych IDX, wstawialiśmy w CRON albo w skrypty uruchamiane przez Domoticz. Tu jest inaczej.

W sekcji sensor dodajemy wpis - platform: moon

# Sensors
sensor:
  - platform: moon

UWAŻAJCIE NA WCIĘCIA W TEKŚCIE! Jest to niezmiernie ważne w procesie konfiguracji i dodawania nowych elementów systemu.

Restart konfiguracji i możemy zacząć dodawanie.

Teraz ważny temat. Hassio (trochę podobnie jak Dashticz) może opierać się na automatycznym dodawaniu elementów na pulpit. Ale akurat to wyłączyłem dość szybko, bo przecież wszystko chcemy zrobić sami tak jak nam się podoba, a nie powierzyć automatom.

W tym celu musicie wybrać 'trzy kropki' po prawej stronie, Configure UI i przestawić system w tryb manualnej edycji wyglądu interfejsu. Zostaniecie poproszeni o potwierdzenie tej operacji stosownym komunikatem.

Kolejną przydatną funkcją jest 'Unused entities'. Pokaże Wam jakie elementy skonfigurowaliście już, ale nie wrzuciliście na pulpit.


Pomarańczowym 'Plusem' w prawym dolnym rogu (pokazanym na kolejnych ekranach) wywołujemy menu z dostępnymi opcjami. Zwróćcie uwagę, że są logicznie podzielone na pewne sekcje - Entity, Gauge (czyli wskaźnik, miernik), Glance (podgląd na przykład kamer), Light, Map, Media Control, Plant status, Sensor, Weather forecast, itp. W znakomitej większości Home Assistant rozpozna odpowiedni typ i będzie mogli wybierać z przypisanych elementów po prostu z 'Drop down listy'.

Na ten moment udajmy się do ENTITIES.


Tam zobaczycie opcje konfiguracji karty. Po lewej konfiguracja, po prawej efekt.


Wybieramy nasze Entity - sensor.moon i po chwili widzimy podgląd po prawej.


Po zapisaniu karta została dodana do systemu. Zrobione na szybko, bez tytułu, ale chodzi o efekt.


Podobnie trzeba zrobić z innymi komponentami, jak na przykład: haveibeenpwned, pogoda, dane systemowe, szybkość połączenia internetowego, itp. Budujecie z klocków.


Jeżeli chcecie klocki przesunąć, możecie to zrobić strzałkami, albo dodać kolejny element menu na górze i tam przesunąć swój komponent.



Ja przesunąłem sobie część elementów na zakładkę Użytkowe (Speed test, obciążenie Raspberry, UPS, Xiaomi WiFi Repeater, Have I Been Pwned, Air Purifier, itp.)


A część na Multimedia (Amplituner Denon z HEOS, MiBox3, Spotify z LMS, kamery, graficzna prezentacja pogody, itp.):


Czyli w sumie wszystko to, co potrafił Domoticz w połączeniu z Dashticz. Jest nieźle!

Jeden temat mi trochę krążył po głowie, ale udało się go szybko znaleźć. Standardowe elementy dodawane są na podstawie ID. Mniej lub bardziej jasnego do odczytu. Można te nazwy oczywiście zmieniać. Trzeba wybrać daną nazwę na pulpicie, wybrać ikonę 'trybika':


Nadpisać i zapisać.



Voila!


W kolejnym kroku zajrzymy dokładniej do configuration.yaml i ukryjemy pewne sekrety.

Dobranoc!

piątek, 24 maja 2019

Home Assistant - zaczynamy! Instalacja za pomocą Hass.io

Jak to mówił w niezapomnianej roli Wacław Kowalski: 'Nadejszła wiekopomna chwila...' żeby spróbować czegoś innego niż Domoticz.

Nie jest to może najmądrzejszy krok, bo jeszcze w Domoticz mam co robić, ale:
- jedno drugiemu nie przeszkadza
- coś tam jednak w Domoticz już wydłubałem, działa, sprawdza się dobrze, chcę spróbować jak można to zrobić w innym systemie
- leżała mi jedna wolna (dosłownie i w przenośni) Malina, na której to wszystko postawiłem

Możliwości instalacji Home Assistant jest kilka.

Jedną z nich, najprostszą dla początkującego (a tak mi się przynajmniej wydaje) jest użycie Hass.io. Jak na mój stan wiedzy jest to obraz Raspbian z zainstalowanym Docker'em i w nim znajduje się komponent Home Assistant.

Dostępny pod adresem https://www.home-assistant.io/hassio/installation/, zawiera obrazy dla różnych SBC. Ja (niestety!) mam w domu do testów tylko Raspberry Pi 1 B. Wolne to jak diabli, ale działa. Mam pewien pomysł w głowie, ale muszę do niego dorosnąć ;)


Ściągnąłem, użyłem balenaEtcher, nagrałem na kartę, włożyłem w Malinę, uruchomiłem - uruchomił się. Komunikat nie jest bezpodstawny. Wydaje mi się, że na tej mojej wolnej RPi1 potrzebował około 30 minut (podłączony kablem sieciowym) aby dokończyć instalację. W tym czasie ściąga najnowszą wersję i konfiguruje środowisko.


Jeżeli Wasz router obsługuje mDNS (multicast DNS) możecie od razu wejść na adres http://hassio.local:8123 i poczekać na odświeżenie strony. Jeżeli nie - musicie znaleźć adres IP Waszego SBC jakimś skanerem adresów IP.


Gdy instalacja zostanie zakończona zostaniecie poproszeni o stworzenie pierwszego i głównego użytkownika systemu oraz podanie hasła do jego konta.


I przechodzicie do dodawania elementów. Tutaj zwanych Integracjami.


W sumie nic tutaj nie dodawałem, przeszedłem po prostu dalej, czyli wcisnąłem Finish.

Co mnie mile zdziwiło (chociaż czytałem o tym wcześniej w dokumentacji), Home Assistant wykrył mi od razu dostępne w domu urządzenia. Yeelight, lokalizacja, Xiaomi Mi Box, wzmacniacz Denon i jego HEOS.

Kolejne miłe zaskoczenie - interface Lovelace (skojarzenie W OGÓLE nie uzasadnione - bardzo proszę się nie dziwić przy wyszukiwaniu go w Google ;) jest już zainstalowany oraz skonfigurowany.

Słowem wyjaśnienia - śledziłem do tej pory postępy Home Assistant wyłącznie pobieżnie. Wiedziałem, że prężnie się rozwija, jeden z dobrych internetowych znajomych będących głęboko w temacie (Maciej - pozdrawiam) polecał go gorąco. Dlatego wiele rzeczy jest dla mnie albo zdziwieniem, że 'tego nie ma', albo 'o, to jednak jest, wbrew temu co czytałem'. Wydaje MI się, że Lovelace dość niedawno wszedł do standardu, pozwolił na o wiele sprawniejsze uruchomienie i skonfigurowanie Home Assistant. Do tej pory HA kojarzył mi się z tekstem 'Bariera wejścia jest dość duża, bez znajomości YAML nie podchodź'. Nie boję się skryptów, tworzenia konfiguracji w tekście (pozdrawiam pamiętających tworzenie kolorowych i interaktywnych Autoexec.bat i Config.sys - device=c:\dos\himem.sys 4EVA RULZ!), ale skoro Domoticz działa, to po co się pakować w kłopoty ;) Dobrze, że sam siebie jednak nie posłuchałem! WARTO poznać Home Assistant, bo podejście do domowej automatyki jest w nim zgoła inne niż w Domoticz. A do tego - jakże miło nauczyć się czegoś nowego.

Wracając jednak do tematu...


Można od razu zacząć sprawdzać możliwości, opcje, itp. Fajne, nie powiem! Bardzo spodobała mi się opcja Text to speak na Xiaomi Mi Box. Dzieci były zdziwione gdy kazałem im zejść po jedzenie :D


Rozpoczęło się dalsze szukanie nowych elementów systemu, poniżej historia zdarzeń powiązana z elementami naszego systemu.


Podłączenie do wzmacniacza i systemu Heos.


Poniżej BARDZO ważna zakładka - Configuration. To tutaj możecie się dostać do wszystkich Waszych:
- Integrations - czyli na przykład połączenie z HEOS, MQTT, PS4
- Users - czyli użytkownicy naszego systemu
- General - jedna z najważniejszych funkcji dla początkujących w HA - sprawdzenie poprawności pliku configuration.yaml. Z tego co czytałem (i sam się w ostatnich dniach przekonałem) niezmiernie ważna jest poprawna edycja tego pliku. Wcięcia o odpowiednich długościach, tabulacje, itp. Na szczęście w tej właśnie sekcji jest Configuration Validation, którą powinno się wykonać po każdej zmianie w pliku. Szczególnie na początku, gdy jeszcze 'błądzimy we mgle'. Widać, że system jest przemyślany - na tej samej stronie, poniżej, znajduje się przeładowanie konfiguracji i serwera Home Assistant. Nie przeładujecie jej, jeżeli w konfiguracji jest błąd. Zapobiega to 'wywaleniu' systemu jeżeli coś źle zrobiliśmy.
- Persons - osoby, które mają zostać odzwierciedlone w systemie. Na przykład do sprawdzania obecności
- Entity Registry - lista naszych czujników, itp.
- Area Registry - lista pomieszczeń
- Automation - automatyka
- Script - skrypty
- Customization - możliwość zmiany

Ostatnie pięć wymaga osobnych postów, to po pierwsze. A po drugie - sam ich jeszcze do końca nie rozumiem, więc nie będę cwaniakował :D





Tutaj zakładka z parametrami naszego systemu:


Z tego co widzę system backupów jest realizowany na zasadzie snapshotów aktualnego statusu systemu. Ciekawostka, trzeba doczytać.


Jak widać poniżej - nie mamy żadnych dodatków jeszcze skonfigurowanych. Pora to nadrobić!


Na początku starałem się dodać komponenty z oficjalnego Add-On store, bo po prostu nie wiedziałem jak zrobić to w inny sposób. Samba share, SSH. Niby się zainstalowały, ale cóż z tego, kiedy nie wiedziałem jak je uruchomić...






Bo trzeba umieć czytać dokumentację!



Każdy komponent potrzebuje chociaż wstępnej deklaracji konfiguracji w pliku konfiguracyjnym. Któren to znajduje się w sekcji Hass.io. Oczywiście, jeżeli go wcześniej zainstalowaliście :)


Wybieramy ikonę folderu,


Oraz plik konfiguracyjny


I tam na przykład wstawiacie sekcję speedtestdotnet, jak opisane na stronie: https://www.home-assistant.io/components/speedtestdotnet/. Miałem trochę barierę mentalną związaną z każdym Raspbian, Windows, Domoticz. 

Jak to się, do cholery, instaluje? Otóż, proszę Państwa, wcale. Podaje nazwę, system sam dba, aby dodać kolejne Entity. No, na mój stan wiedzy na ten moment ;)


I po sprawie. Restart jak wcześniej sugerowałem:


I po chwili mamy wynik. Co prawda trzeba go wstawić na stronę, ale o tym już w kolejnym wpisie. Zwróćcie również uwagę na inne komponenty - bez problemu mogę sterować amplitunerem oraz jak widać monitorowanie parametrów systemu jest dostępne bez problemu.

A komponentów jest... Bagatela, prawie 1400!


Aplikacja na telefon również jest dostępna i przedstawia się następująco:



Zaczyna się nowa, arcyciekawa przygoda! Opis dość chaotyczny, pisany na gorąco, bez przemyślenia jeszcze, ale to co zastałem jest po prostu niesamowite! Jakże inne podejście niż w Domoticz! Widzę, że czekają mnie miesiące nauki, ale tym bardziej to motywuje! Modułowa budowa programu, natychmiastowa reakcja, bardzo częste aktualizacje, separacja dodatków od 'core' systemu - to jest coś, co wróży stabilność i bezproblemowe działanie.

Dobranoc, pora ochłonąć przy muzyce Rotting Christ i szklaneczce whisky, skoro rodzina śpi :D

piątek, 17 maja 2019

Backup 3-2-1 w moim domowym NAS

Dzień dobry wszystkim! Sezon biegowy się zaczął, czasu na pisanie mniej...

Kontynuując zapewnienie bezpieczeństwa naszych danych w domu skonfigurowałem sobie połączenia SSH pomiędzy różnymi maszynami i chciałem dodać skrypty kopiujące do CRON. W pewnym momencie jednak doszło do mnie, że robię to zupełnie wbrew logice. Skoro mam OpenMediaVault, to głupotą byłoby nie wykorzystywać jego mechanizmów. A do tego czego potrzebuję idealnie nadaje się rsync i jego obsługa wbudowana w OMV.

Staram się działać zgodnie z zalecanym 3-2-1:
- przynajmniej trzy kopie ważnych danych
- przechowywać je przynajmniej na dwóch różnych nośnikach
- przynajmniej jedna kopia poza domem

U mnie to:
- kopia zdjęć na trzech egzemplarzach danych
- jedna kopia na NAS, druga na zewnętrznym dysku z automatyczną synchronizacją
- kopia w Google Drive

Efekt jest następujący:



Konfiguracja jak poniżej. Wybieramy:
- Typ. Local lub Remote. Czyli z lokalnej partycji na inną, lub zdalna kopia.
- Mode. Push lub Pull. NA INNY serwer/folder lub Z INNEGO folderu na nasz NAS
- wskazujemy folder źródłowy
- później docelowy
- ewentualne potrzebne hasła
- datę uruchomienia. Jak widać - można oczywiście cyklicznie.


Poniżej widać w logach uruchomiony proces.


Zrobiłem to w przypadku kilku moich innych maszyn: RetroPie, Domoticz oraz oczywiście częściowy backup danych z NAS - tutaj szczególnie zdjęcia. RetroPie nie działa 24h, dlatego po prostu gdy go włączam to robię sobie kopię uruchamiając zdefiniowany skrypt.


Śpię spokojniej ;)

Commodore Plus/4 - ciekawy pomysł, ciekawy komputer

Dzień dobry! Jakiś czas temu trafił do mnie kolejny komputer ze ‘stajni’ Commodore - Plus/4. Miałem ochotę go mieć w kolekcji już od dawna, ...