wtorek, 26 listopada 2019

Koncert Rotting Christ, Moonspell i Silver dust

Kolejny koncert zaliczony.

Tym razem 24.11.2019 w Klubie Kwadrat spotkali się dawni znajomi - uwielbiany przeze mnie Rotting Christ oraz Moonspell, którego co prawda ostatnio nie słucham, ale bardzo szanuję i podziwiam ich za płyty Wolfheart oraz Irreligious.

Nie umiem za bardzo pisać o koncertach, ponieważ są to moje głębokie emocje, przeżycia, ciężko to przelać na 'papier'. Może z czasem się nauczę. Odbieranie muzyki to nie dodanie kolejnego włącznika do Home Assistant ;)

Rotting Christ jest dla mnie ostatnimi czasy bezapelacyjnym numerem 'jeden', jeżeli chodzi o intensywność słuchania oraz ilość utworów, które bardzo do mnie docierają. Nie inaczej było i tym razem - koncert był świetny, już w nowym, kolejnym składzie. Oczywiście Sakis i Themis dalej tworzą człon zespołu, ale dwie nowe (z czego jedna bardzo młoda) twarze zastąpiły kilkuletnich muzyków. Zagrali wspaniale, z energią, tak jak uwielbiam, chociaż zabrakło mi 'tego czegoś', co by wyróżniło ten koncert specjalnie z innych. Z utworów na pewno warto wymienić: 666, Societas satanas, In Yumen/Xibalba, King of stellar war, Grandis spiritus diavolos, Apage Satanas, Non serviam. Młyn pod sceną zaliczony, warto było się pojawić, jak zawsze zresztą na ich koncertach.

Moonspell - legenda metalowo/goth/black rockowa. Utwory takie jak Opium, Alma mater, Vampiria, Mephisto, Fullmoon madness znane są chyba każdemu fanowi metalu, czy zespół lubi, czy nie. Widać, że ciągle kochają to co robią i świetnie potrafią nawiązać kontakt z publicznością. Warto pochwalić, bo niejedna gwiazda, szczególnie tak długo grająca, nie potrafi teraz tego zrobić. Cieszę się, że ich widziałem po raz kolejny, ale tym razem słuchałem ich już bardziej z tyłu, na spokojnie, kontemplując muzykę.

Koncert był ważny i miły dla mnie również z innych względów - pojawiła się nam nim moja stara 'brygada' ze studiów - niniejszym pozdrawiam Magdę, Futrzoka, Caniggię, Słonia. Do tego kilka osób ze starej gwardii koncertowej - również pozdrawiam!

Silver dust nie znam, więc nawet nie opisuję, nie odpowiadał mi ani ich image, ani muzyka.






sobota, 23 listopada 2019

Home Assistant - Jak szybko dojadę dziś do pracy?

Jednym z pierwszych komponentów jakie sobie skonfigurowałem po instalacji Home Assistant był Waze travel. Prosto, szybko, efektownie. Pokazało też jak prosto wszystko się tutaj dodaje, robi i konfiguruje.

Można zacząć od wrzucenia tego w plik configuration.yaml. Ja osobiście dla porządku rozdzieliłem to i wrzuciłem do pliku sensors.yaml i dodałem sensor: !include sensors.yaml
 w configuration.yaml.

# Waze travel time
  - platform: waze_travel_time
    name: "Dorota"
    origin: !secret waze_origin
    destination: !secret waze_dest_dorota
    region: 'EU'

  - platform: waze_travel_time
    name: "Adam"
    origin: !secret waze_origin
    destination: !secret waze_dest_adam
    region: 'EU'

I tyle. System sam zorientował się co chcę osiągnąć i po sekundzie mogłem dodać. Dodałem dla przykładu dwie karty: jedną jako Entities oraz Gauge.


Poniżej wygląd gotowych kart. 


I konfiguracja. W Entities dodałem dwie zdefiniowane encje, od razu pokazały się na karcie.


Konfiguracja Gauge poniżej:


Robi się coraz ładniej i schludnie. Co ważne, w porównaniu do Domoticz mogę tym sterować do woli i tak jak chcę.


Hass.io i Google Drive Backup

Dzisiaj krótka wrzutka, pozwolę sobie zareklamować wpis na blogu, który opisuje Home Assistant z konkretnymi przykładami - HejDom.pl

Robienie kopii zapasowych jest bardzo ważne. To fakt, którego nie warto powtarzać :) Post ten miał traktować o robieniu kopii na dysk Google Drive. W sposób bezpieczny, komponent ma dostęp wyłącznie do jednego miejsca. 

Nie chcę powtarzać wpisu, który już zrobił kolega:

Chciałem jednak ten temat umieścić u siebie, ponieważ warto mieć w jednym miejscu całość.

Dokładny opis po angielsku jest na stronie projektu:

Skoro wszystko zostało tak już dobrze opisane, pozostaje wkleić zrzuty ekranu :D

Tak wygląda skonfigurowany komponent:




Taki folder pojawi się w Google Drive,

A zawartość folderu po pierwszej synchronizacji:


czwartek, 21 listopada 2019

DietPi - czyli jak zainstalować tonę oprogramowania za jednym naciśnięciem guzika

Zawsze mnie interesował https://dietpi.com/. Odchudzona wersja systemu, jeszcze mniej zasobożerna niż Raspbian Lite, z wieloma usprawnieniami a do tego z OGROMEM oprogramowania dostępnego za naciśnięciem Enter.

Na wolnym Raspberry Pi 1 nie było sensu go instalować, ale skoro Pi 4 czeka na kompatybilne RetroPie, to można próbować do woli :D

O instalacji nie ma się co rozwodzić - jest obraz, pobieramy, zgrywamy na kartę, ruszamy. Co do zgrywania - albo Belena Etcher, albo Win32DiskImager, zależnie od formatu.



Poniżej kilka ekranów konfiguracyjnych, hasło, SSH, itp.



Kiedy już to przejdziecie macie możliwość wyboru programów jakie chcecie zainstalować. Nie ma sensu opisywać tutaj wszystkich, listę macie dostępną pod adresem: https://dietpi.com/dietpi-software.html. Warto jedynie napisać, że są one podzielone na kategorie, jak:
- SSH servers
- Desktops
- Remote Desktops
- Media Systems - KODI, mpd, Plex, Emby, Roon i inne
- Download tools - Transmission, Deluge, Sonarr, Radarr, CouchPotato
- Emulation/Gaming - np. AmiBerry
- Camera - MotionEye
- Cloud/Backups - ownCloud, NextCloud, Pydio, Syncthing
- Social - Wordpress, phpBB3, Baikal,
- Home Automation - Home Assistant
- Hardware Projects - Google AIY, PiJuice, RPi.GPIO, Node-Red, Mosquitto, InfluxDB, Grafana
- Remote Access - Remot3.it, itp.
- Stats - RPi Monitor, Webmin, Linux Dash
- Security - Fail2Ban
- Webserver Stacks - Apache2, nginx, PhpMyAdmin, Tomcat8
- File Servers - Samba Server, NFS, ProFTP
- VPN
- DNS Server - Pi-hole
- Printing

Jak widać - MNÓSTWO, po prostu mnóstwo oprogramowania dostępnego do zainstalowania automatycznie.




Ważne jest, aby po wybraniu przejść na sam koniec listy i wybrać Install -> Go >> Start


Zobaczycie podsumowanie Waszych wyborów i po akceptacji...


Zacznie się instalacja. Oczywiście, zależnie od ilości wybranego oprogramowania, wielkości, szybkości karty, połączenia internetowego może to potrwać dość długo.


Jeżeli później będziecie chcieli zmienić Wasze parametry konfiguracyjne, możecie wpisać
sudo dietpi-software


Każde z tego oprogramowania uruchamia się na innych portach RaspberryPi, dokładnie opisy znajdziecie pod adresem: https://dietpi.com/phpbb/viewtopic.php?f=8&t=5#p5

Dzięki temu mam teraz na Raspberry Pi 4 zainstalowane bez problemu:
- serwer Plex
- Logitech Media Center
- Home Assistant
- mc
- Docker
i wiele innych.

Plan jest taki, aby Home Assistant przenieść z hass.io na DietPi w kontenerze Docker, czyli trochę inaczej niż tutaj, ale o tym innym razem.

środa, 20 listopada 2019

Playstation 2 - pierwsza konsola z jaką miałem styczność

Sony Playstation 2. Moja pierwsza w życiu konsola. Pamiętam moment jej zakupu, w Makro była jakaś bardzo poranna promocja, przy okazji której można było ją dostać. Wstałem o jakiejś zabójczo wczesnej porze, pojechałem, odstałem swoje i wróciłem z nią wcześnie rano do domu. Żona jeszcze smacznie spała. 

Z jednej strony radość (konsola w domu!), która dość szybko ustąpiła rozczarowaniu. To, że były to modele Refurbished (konsole odnawiane oficjalnie przez Sony) - wiedziałem. Ale mój egzemplarz okazał się jednak modelem powystawowym, który miał bardzo, bardzo mocno zdezelowany napęd. Nic to - gwarancja jest gwarancją i po miesiącu miałem ją ponownie, tym razem w pełni działającą ;) W stosunku do mojego PCta (który nigdy nie był jakoś specjalnie dobry) to była nowa jakość. 

Wtedy jeszcze gry były esencją 'konsolowatości', że tak się wyrażę. Piękna, plastyczna grafika, kolory, efekty generowane przez Emotion Engine, platformówki - to było coś wspaniałego - spędziłem przy niej mnóstwo godzin szczęśliwego grania. Tytuły takie jak God of war, GTA: San Andreas, Ico, Final Fantasy X, Katamari Damacy, Frequency, Amplitude, Killzone, Metal Gear Solid 2 oraz 3, Resident Evil 4, Silent Hill 2, SSX 3, Burnout, Fahrenheit, Black, Tekken, Jak and Daxter, Ratchet and Clank, Sly Cooper... Ehhhh, łezka w oku.

No i tej właśnie mojej wysłużonej PS2 przytrafiło się osłabienie lasera. Nic dziwnego, wiele płyt się w niej kręciło. Trzeba było rozkręcić i próbować go ustawić. Poniżej mały poradnik.




Zdejmujemy zaślepki nad śrubami.


I rozkręcamy delikatnie. Jeszcze bardziej delikatnie zdejmujemy pokrywę.




Pod plastikową osłoną mamy tackę na płyty CD/DVD. Widać tam małe białe kółko, którym regulujemy laser (WYŁĄCZNIE W JEDNĄ STRONĘ!). To działa trochę jak ślimak, który po przekręceniu się o 360 stopni opada i wraca do poprzedniej pozycji.


Wypada to przetestować, obowiązkowo zalecam uwagę! Skręcanie wszystkiego kompletnie i rozkręcanie ponowne jest co najmniej czasochłonne. Czyli robimy to 'na żywca', pod napięciem! GROZI PORAŻENIEM PRĄDEM! Jeżeli już się na to zdecydujcie, to zakryjcie tackę lasera plastikową nakładką i dopiero potem sprawdzajcie. Nie było to łatwe, ciężko było utrafić, ale udało mi się znaleźć dobrą pozycję.

Proszę - GTA: San Andreas udało się uruchomić :)


Atari 65 XE - ponownie 'na tapecie'

Atari... Atari 65XE. Mój pierwszy komputer w domu. Pierwsze kontakty z grami, pierwsze programy, poznawanie assemblera, pierwsze próby kodowania, to wtedy dopadła mnie fascynacja sceną komputerową - dema, intra. Wspomnień czar.

Większość opisałem w innym poście: http://cezarowy.blogspot.com/2018/08/a-a-a-ataaaari-wspomnien-czar.html, kilka rzeczy jednak się zmieniło. Po pierwsze - znalazłem na strychu moje dwa zeszyty z opisanymi wszystkim grami, demami, loaderami potrzebnymi do wczytania konkretnych programów. Dla mnie to niesamowita porcja nostalgii, którą tak ostatnio uwielbiam. Wiem, mięczak jestem i sentymentalny facet.



Druga sprawa - SDrive-MAX, czyli emulator magnetofonu/stacji dyskietek oparty o Arduino, podłączany przez port SIO: http://cezarowy.blogspot.com/2019/09/atari-65xe-i-sdrive-max-skadamy.html




Działający magnetofon również się 'uchował', wraz z cartridge z loaderami do gier i kilkunastoma kasetami. Dla niewtajemniczonych - standardowe magnetofony Atari miały zawrotną prędkość ładowania danych wynoszącą 600 bodów, czyli bitów na sekundę. Przypominam, że 1 bajt to 8 bitów, 600 bitów to 75 bajtów. Lepsza gra zajmowała 40kb, łatwo więc policzyć, że czas wgrywania to przynajmniej około 10 minut. A były gry obszerniejsze, aby się załadowały trzeba było czekać 20 minut.

A poza tym, to gry się wtedy liczyło na 'obroty', czyli licznik w magnetofonie. Młodszym zapewne ciężko to sobie wyobrazić, ale żeby znaleźć ulubiony tytuł trzeba było przewinąć kasetę do początku i później do zapisanej w zeszycie wartości licznika, żeby trafić na odpowiedni ciąg taśmy. A że 'się grało', to taśma się zużywała i raz za razem było ją ciężej wgrać. Stąd właśnie słynne 'cicho, bo się nie wgra' - bo czyż mogło być dla dwunastolatka coś bardziej stresującego niż LOAD ERROR po 15 minutach czekania? Lekcje odrobione, wszystko posprzątane, a grać nie można! Dlatego przekonałem rodziców po jakimś czasie do wyłożenia pieniędzy na 'Turbo' - w moim przypadku Blizzard. Ależ to była różnica! Zamiast 10 obrotów - 10! Szok!


Do tego w gotowości czekają joysticki, na 'gumach', albo 'mikrostykach'. Jak ostatnio grałem, bo zastanawiałem się jak moi rodzice mogli wytrzymywać kilkugodzinne czasem granie z tym odgłosem klikania w tle...


Na koniec z ciekawostek kultowy MOD z czasów wojenek Atari-Commodore.

Anty Atari Song - https://www.youtube.com/watch?v=oMkCboYJ-tw

Do pobrania z tej strony https://modarchive.org/index.php?request=view_by_moduleid&query=77143. Z odgrywaniem świetnie radzi sobie foobar2000 z pluginem: https://www.foobar2000.org/components/view/foo_input_zxtune

sobota, 16 listopada 2019

Home Assistant i Home Assistant Community Store

Niesamowitym plusem Home Assistant jest fantastyczna i bardzo aktywna grupa użytkowników. Domoticz oczywiście też ją posiada, ale w HA wszystko jest poukładane, udokumentowane, świetnie zorganizowane.


Wiele z dodatków można pobrać z tak zwanego Community Store, gdzie to ludzie wrzucają sprawdzone dodatki.

Instalacja jest dość prosta, jak to podaje oficjalna instrukcja:

1. Otwieramy przeglądarkę
2. Przechodzimy na stronę: https://github.com/custom-components/hacs/releases/latest
3. Pobieramy Source code.zip
4. Tworzymy folder, wypakowujemy zawartość
5. W tym folderze jest custom_components, w nim folder hacs, który musimy skopiować do naszej instalacji Home Assistant
6. Ja używam Hass.io, także muszę wgrać zawartość hacs do /config/custom_components/hacs
7. Nie ma folderu, więc zakładam/wgrywam cały folder /custom_components/hacs
8. Restart Home Assistant
9. Na stronie GitHub konieczne jest utworzenie swojego tokena dostępowego: https://github.com/settings/tokens
10. W configuration.yaml dodajemy
hacs:
  token: !secret github

11. Sprawdzenie konfiguracji, restart

W wyszukiwarce dodałem sobie Airly. Tak, wiem, jest teraz w oficjalnych dodatkach do Hass.io, ale ja dodawałem wcześniej.


W configuration.yaml możemy dodać wpis jak poniżej. Tak zrobiłem na początku, później przeniosłem do sensors.yaml. Co ważne - opcje konfiguracyjne, parametry, instrukcje, obligatoryjne pola są dostępne do każdego dodatku - wystarczy przeczytać.

  - platform: airly
    name: 'Air Quality'
    api_key: !secret airly_api_key
    latitude: !secret home_lat
    longitude: !secret home_long
    language: 'pl'

12. Dodajemy Entity


I cieszymy się informacjami.


Home Assistant - pierwsze konfiguracje i plik secrets.yaml

Dzisiaj przybliżę podstawową konfigurację komponentów w Hass.io.


Przy okazji zaznajomimy się z funkcjonalnością pliku secrets.yaml, który to umożliwia na przykład dzielenie się konfiguracją z innymi użytkownikami bez konieczności ciągłego zastępowania swoich haseł innymi tekstami.

Po pierwsze, tak jak opisałem na dole strony http://cezarowy.blogspot.com/2019/05/home-assistant-zaczynamy-instalacja-za.html - musimy edytować plik configuration.yaml.

Zawartość tego pliku (configuration.yaml) u mnie aktualnie wygląda tak jak poniżej, coraz więcej ciekawych rzeczy się pojawia.

Pozwolę sobie opisać kolejne sekcje. Nie jest to zbyt czytelne na początek, ale konieczne aby zrozumieć zasadę działania Home Assistant. Przesiadając się z Domoticz trzeba zmienić podejście, dość radykalnie. Domoticz ma 'niższy próg wejścia', bez dwóch zdań, ale gdy już 'zaskoczyłem' jak i co zrobić w Home Assistant - jestem pewien, że nie wrócę i powoli przepisuję wszystkie elementy i umieszczam je w HA. Niewiele już zostało.

W niedalekiej przyszłości moja konfiguracja znajdzie się na github, skąd będziecie mogli ją pobrać, sprawdzać, edytować i dostosować do swoich potrzeb.

Każda deklaracja 'elementu' HA, encji, integracji, itp. musi kończyć się znakiem ':'. Uważajcie na wcięcia i przed każdym restartem serwera sprawdzajcie poprawność pliku konfiguracyjnego!

homeassistant:
  # Nazwa naszej lokalizacji
  name: Dom
  # Poniżej koordynaty naszego domu, aby poprawnie odczytywać wschód/zachód słońca
  latitude: !secret home_lat
  longitude: !secret home_long
  # Poniższe mam również wpływ na zachody słońca - położenie nad poziomem morza
  elevation: 466
  # System metryczny?
  unit_system: metric
  # Strefa czasowa: http://en.wikipedia.org/wiki/List_of_tz_database_time_zones
  time_zone: Europe/Warsaw

# Plik mogący zawierać dane dotyczące wyglądu ikon, polskich nazw elementów, etc.
  customize: !include customize.yaml

# Włączamy możliwość konfiguracji i wykrywania użytkowników systemu
person:

# Configure a default setup of Home Assistant (frontend, api, etc)
#default_config:
config:

# Czy włączyć automatyczne wykrywanie urządzeń? Jakie ignorować?
discovery:
  ignore:
  - philips_hue

# Deklaracja dotycząca komponentu dającego informacje o systemie na którym działa HA
https://www.home-assistant.io/integrations/system_health/  
system_health:

# Jeżeli chcecie używać aplikacji mobilnej:
https://www.home-assistant.io/integrations/mobile_app/
mobile_app:

# Aby plik był bardziej estetyczny i czytelny dobrze jest podzielić integracje na grupy.
# Do każdego z plików można dodać elementy, który mogłyby się znaleźć w głównej konfiguracji, 
# na dłuższą metę jednak będzie to 'nie do ogarnięcia'
history: !include history.yaml
logger: !include logger.yaml
sensor: !include sensors.yaml
binary_sensor: !include binary_sensors.yaml
device_tracker: !include device_tracker.yaml
media_player: !include media_player.yaml
group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
switch: !include switches.yaml

# System notyfikacji. Ja postawiłem na e-maile
notify:
  - name: Cezar
    platform: smtp
    server: !secret email_server
    port: 587
    timeout: 15
    sender: !secret email_sender
    encryption: starttls
    username: !secret email_username
    password: !secret email_password
    recipient:
      - !secret email_cezar
    sender_name: My Home Assistant

# Tutaj konfiguracja kamer i podobnych elementów - na przykład wykresów pogody
camera:
  - platform: generic
    name: Weather
    still_image_url: https://www.yr.no/place/Poland/Lesser_Poland/Klucze/meteogram.svg
    content_type: 'image/svg+xml'

  - platform: mjpeg
    name: Salon
    still_image_url: http://192.168.1.155/cgi/jpg/image.cgi
    mjpeg_url: http://192.168.1.155/cgi/jpg/image.cgi
    username: admin
    password: !secret my_password
    
  - platform: mjpeg
    name: PrzedDomem
    still_image_url: http://192.168.1.156/image/jpeg.cgi
    mjpeg_url: http://192.168.1.156/image/jpeg.cgi
    username: admin
    password: !secret my_password

# Tu sobie zostawiłem konfigurację Xiaomi Air Purifier
fan:
  - platform: xiaomi_miio
    host: 192.168.1.115
    token: !secret airpurifier
    model: zhimi.airpurifier.v2

# Konfiguracja związana z iPhone
ios:

# Klient Transmission, które mam na swoim NAS postawionym na OMV  
transmission:
  host: 192.168.1.124
  username: admin
  password: !secret my_password

# System Xiaomi - dane to centralki
xiaomi_aqara:
  discovery_retry: 5
  gateways:
    - key: !secret xiaomi_gw_key

# Informacja o połączeniu internetowym    
speedtestdotnet:
  manual: false
  monitored_conditions:
    - download
    - upload
    - ping

# Pogoda    
weather:
  - platform: darksky
    api_key: !secret dark_sky_api

# Token github to Home Assistant Community Store
hacs:
  token: !secret github

Zawartość pliku secrets.yaml:

home_lat: xx.xxxx
home_long: xx.xxxx
my_password: xxxx
xiaomi_gw_key: xxxx
dark_sky_api: xxxxx
mqtt_broker_ip: xxxx
mqtt_user: xxx
mqtt_pass: xxxx
airpurifier: xxx
github: xxxxxx
airly_api_key: xxxx
burze_dzis_net.api_key: xxxx
malina3_ip: xxx.xxx.xxx.xxx
iphone_adam: xxx.xxx.xxx.xxx
mibox_ip: xxx.xxx.xxx.xxx
email_password: xxxxx
email_cezar: xxxxxx@gmail.com
email_server: mail.xxxxxxx.pl
email_sender: xxxx@xxxxx.pl
email_username: xxxxxxx

A history.yaml wygląda z kolei na przykład tak:

include:
  entities:
    - sensor.speedtest_download
    - sensor.speedtest_ping
    - sensor.speedtest_upload
    - person.Cezar

Plik binary_sensors:

- platform: ping
  host: 192.168.1.200
  name: raspberry_status
  count: 2
  scan_interval: 180

- platform: workday
  country: "PL"

- platform: template
  sensors:
    playstation_status:
      value_template: "{{ is_state('device_tracker.PS4', 'home') }}"
      friendly_name: "PlayStation 4"
    tv_status:
      value_template: "{{ is_state('device_tracker.SamsungTV', 'home') }}"
      friendly_name: "Telewizor"
    nas_status:
      value_template: "{{ is_state('device_tracker.OMVCezar', 'home') }}"
      friendly_name: "NAS"