ZX-UNO – co, jak i na jakiej zasadzie. Czyli super hiper Turbo ULA ZX Spectrum.

Aloha!

Ostatnio nabyłem jak do tej pory najbardziej nietypową maszynę do grania/emulacji. ZX-UNO. Coś na bazie FPGA – Field-programmable gate array.

W czym rzecz, z czym to się je? Nie popełnię chyba gafy, jeżeli napiszę, że to emulator 'bare metal’, czyli emulacja bezpośrednio na rdzeniach FPGA, bez pośrednictwa innego systemu operacyjnego. Bo, czego by nie mówić, na przykład RetroPie jest instalowane na Raspberry Pi OS. Czyli gdzieś tam w tle jest pewien 'opóźniacz’, który pośredniczy w emulacji. W przypadku ZX-UNO nie ma o tym mowy. Ja akurat nie jestem purystą i na tyle, na ile gram na emulatorach – lag (czyli opóźnienie w reakcji na interakcję użytkownika) nie przeszkadza mi, albo go po prostu nie odczuwam.

Do ZX-UNO przekonało mnie na tę chwilę jednak co innego – ZX Spectrum i jego demoscena. Chciałem poza tym spróbować czegoś nowego. Uruchomienie go zajęło mi chwilę głównie z powodu mojego lenistwa oraz obaw przed spaleniem – nie wiedziałem dokładnie jaki nabyć zasilacz. Okazało się, że niepotrzebnie się martwiłem, ponieważ pasuje jakikolwiek, byle napięcie było około 5V i końcówka odpowiednia. Polaryzacją nie ma się co przejmować, płyta ZX-UNO V2 jest wyposażona w zabezpieczenie uniemożliwiające spalenie go w wypadku 'odwróconej’ wtyczki. 

Sam sprzęt wygląda jak na zdjęciach poniżej, ja kupiłem go wraz z prostą obudową oraz kablem Audio-Video. Co ważne – klawiatura musi być w standardzie PS/2, obraz mamy po VGA, dźwięk po jack’u stereo. Joysticki w standardzie Kempston (czyli standardowy dla Atari i Commodore DE-9). 

Oprogramowanie musi znaleźć się na karcie SD, ważne aby był tam ESXDOS – http://www.esxdos.org/index.html oraz pliki dla danej platformy.

Pierwsze uruchomienie wykazało, że jako domyślny został wybrany core Commodore 64. Ale działa!

Dużo ciekawych opcji kryje się w konfiguracji (wywoływanej klawiszem F2 przy starcie ZX-UNO) – testowanie pamięci, dźwięku, opcje uruchamiania, wybór zainstalowanych modułów 'Core’, kolejność startowania, typy sprzętów, itp., itd.

Poniżej, na zakładce ROMs, wybieramy typ ZX Spectrum jaki ma się nam uruchomić – Pentagon 128? Proszę bardzo. ZX Spectrum +2? Bez problemu.

Tu możemy zaktualizować ESXDOS, BIOS ZX-UNO oraz nasze 'core’.

Jaki system ma wystartować wybieramy na zakładce Boot.

Układ klawiatury, typ Joysticka czy ustawienia wyjścia Video na zakładce Advanced.

Przy starcie ESC Please select boot machine:

W przypadku ZX Spectrum (jak na mój stan wiedzy i jak to rozumiem) automatycznie emulowany jest najlepszy możliwie sprzęt, jeżeli jest włączony w parametrach (New G. modes włączyłem) – czyli ZX Spectrum 128K z interfejsem Turbosound oraz układem ULAPlus.

Po uruchomieniu wystarczy wybrać Ctrl+Alt+F5 i mamy możliwość przeglądania plików na karcie SD. Można się zabrać do spijania śmietanki!

Demo Mescaline synesthesia

Demo Aeon

Demo Ahh. The tape loading era!

Demo Your song is quiet, pt2

W samym ZX-UNO fajne jest to, że wspiera wszelkie nowe pomysły realizowane na ZX-Spectrum. ULA Plus powoduje delikatny opad szczęki.

Można też na przykład sprawdzić najnowsze demo z Revision 2021 chwilę po publikacji 🙂

Nie mówiąc już o ostatnich grach wydanych na ZX Spectrum:

Atari – zapisywanie danych na wirtualnej dyskietce

Dzień dobry. 
W poprzednim poście podpięliśmy stworzoną dyskietkę i odczytaliśmy z niej dane. Aby było trudniej były to dane zapisane w języku programowania BASIC (dinozaury pamiętają).
Teraz kolejny krok – przepisaliśmy sobie jakiś program z gazety. Mozolnie wklepywaliśmy teksty linijka po linijce przez godzinę, dwie, cztery… Dla wyjaśnienia młodszym – kiedyś były takie periodyki jak Bajtek, Komputer, IKS, Tajemnice Atari, C&A i wiele innych. Internetu nie było (sic!), więc trzeba było sobie radzić inaczej, jeżeli chciałeś się nauczyć programować. Teraz jest dużo łatwiej, ale ciągle, jeżeli chcesz jakoś zapisać to co zrobiłeś w BASIC’u czy innym języku – dobrze mieć gdzie. W emulatorze Altirra i taka funkcja oczywiście istnieje. Przez stworzenie obrazu dyskietki.
Aby to zrobić musimy w menu File odłączyć wszystkie dyski przez File -> Detach Disk -> All.
Później wybieramy opcję Disk Drives,

I tam jest taka mała strzałka 'w prawo’ – czyli Play na magnetofonie 😉

New disk…

Dla spokoju ducha możemy wybrać DOS2.0/2.5

Save disk as…

Podajemy nazwę pliku pod jakim zostanie zapisany obraz naszej dyskietki na dysku, rozszerzenie .atr zostanie nadane automatycznie.

I teraz tak… Nie wiem czy dobrze zrobiłem, ale tak umiałem i działa, także uważam, że operacja zakończyła się sukcesem. Podpiąłem dyskietkę z wymienionej wcześniej strony z programami z Bajtka jako dysk D1, moją nową dyskietkę jako D2. Shift+F5 (Cold Boot, czyli pełen restart komputera) i Atari wystartowało z dyskietki, na której były pliki z DOS. Następnie H – WRITE DOS FILES, po czym wybrałem dyskietkę D2. Później mogłem już z niej uruchomić komputer. Inna sprawa, że tylko do zapisu pliku w BASIC pliki startowe DOS nie są potrzebne, ale mam komplet i jest z czego wystartować. 
Mała korekta poprzedniego artykułu, jako że się uczę ciągle – można wybrać opcję System -> Internal BASIC (Boot Without Option Key) i wtedy system uruchomi się po prostu z poziomu BASIC. Czyli w sumie nie musiałem zgrywać plików DOS’a 😉
Wpisałem program, aby go zapisać na mojej stworzonej dyskietce wydałem komendę SAVE „D1:DLIST.BAS”.

Można bezpiecznie uruchomić 🙂

Atari 65XE/800 XL – podstawy podstaw

Taaaaaa… 
Blog 'wisi’. 
Jakoś tak mnóstwo zajęć wokół, a do tego w temacie Smart Home zrobiłem to na czym mi zależało, a nawet dużo więcej. O tym kilka zdań jeszcze napiszę, ale na razie priorytetem na ten rok jest wykorzystanie sprzętów retro, które mam w domu. Atari, Commodore, ZX Spectrum, Amiga… Sega Mega Drive, SNES, Neo Geo, PSP, PS Vita, Game Boy Advance, jak i wiele innych czekają na odkrycie ich tajemnic. A często nawet podstaw. 
Do tego dopadła mnie jedna myśl – „Jeżeli wymrą takie dinozaury jak ja i moi koledzy – kto i skąd dowie się jak obsłużyć te sprzęty, na których się wychowaliśmy? Skąd dowiedzą się jak uruchomić grę, jak wczytać program w BASIC’u, jak użyć stacji dysków?”. Często barierą nie jest programowanie efektów demoscenowych w assemblerze, a przełamanie tego pierwszego momentu kontaktu. Bo niestety po tym czasem ten sprzęt ląduje w śmietniku. A szkoda, bo to jednak kawał historii informatyki.
Zacznę więc pisać właśnie o tym. O tych moich bojach z uruchamianiem starych ośmio- i szesnasto-bitowych komputerów. Informacji jest wiele, w różnych językach, kolejne subiektywne wpisy jednak chyba nikomu nie zaszkodzą 😉 
Strona najbliższa mojemu sercu to http://atarionline.pl/. Podziwiam dążenie kolegi Kaz’a do zachowania pełnego dziedzictwa komputerów marki Atari, inicjowanie nowych aktywności, inspirowanie ludzi.
Jednym właśnie z takich zainspirowanych jest Amarok – przepisał WSZYSTKIE programy zawarte w Bajtkach związane z Atari. Dla wiadomości młodszych – Bajtek był jednym z pierwszych pism w Polsce traktującym o komputerach osobistych.
Nowoczesne spotkało starsze i mamy teraz wszystkie je zebrane na gitlabie:
 
Bezpośredni link to wszystkich zarchiwizowanych listingów jest tutaj:
Ściągnałem, rozpakowałem. Moim (jak zapewne i wielu innych osób również) ulubionym emulatorem Atari 65XE/800XL/130XE jest Altirra – http://www.virtualdub.org/altirra.html. Powiązałem sobie pliki .atr z tym emulatorem pod Windows i można szaleć. Wziąłem na tapet Bajtek 1987/1 i program Nessie. Taka prosta 'strzelanka’. Po uruchomieniu bajtek_1981_1.atr ukazał mi się ekran jak poniżej. 

Po wybraniu A i naciśnięciu dwa razy Enter dostałem spis plików na dyskietce:

Jednak bezpośrednio z poziomu DOS ich nie załaduję – są to pliki w BASIC. Musimy wyjść z DOS i uruchomić interpreter BASIC:

System się przeładuje, ale teraz po wybraniu B – RUN CARTRIDGE wejdziemy do BASIC i możemy załadować widoczny wcześniej plik poprzez LOAD „D:NESSIE.BAS”.

Poprzez LIST (skrót L.) możemy zobaczyć jak wygląda program:

A RUN uruchomi go.

Można grać. Pozostało wiele programów do sprawdzenia…

Jak na przykład Stary Dom!
Dobranoc. Wraca ochota do pisania 🙂

Home Assistant, InfluxDB i Grafana. A jak mam wrzucić wykres do HA?

Dzień dobry. 

Kontynuując temat Grafana (Grafany? Nigdy nie wiem czy to powinienem odmieniać, raczej tak…) – prosty sposób na dorzucenie wykresu, zegara, itp. na interface Lovelace.

Po pierwsze primo, trzeba na Panelu wybrać Share:

Po drugie primo, przejść na zakładkę Embed i skopiować tekst 'w ciapkach’:

Po trzecie primo, w ui-lovelace.yaml dodać:

      – type: iframe

        id: graf1

        url: http://192.168.1.133:8123/api/hassio_ingress/fp2s44paqPGdZR2V3M7Sr1vI5K0TQu9jH10omYz4w38/d-solo/AHwE-k5Gz/cezar_ha?orgId=1&from=1602835941663&to=1602922341663&panelId=9

        aspect_ratio: 65%

Po czwarte primo, efekt widoczny od razu!

Aktualizacja: najpierw trzeba przejść na zakładkę Grafan, inaczej będziemy mieli błąd autoryzacji :/ Pracuję nad tym.

Kod lada chwila będzie dostępny również na GitHub: http://blog.asobczak.pl/2020/09/29/home-assistant-moje-repozytorium-dostepne-na-github/. Tylko muszę sobie to wszystko poustawiać.

Home Assistant, InfluxDB i Grafana. Ponownie na tapecie. Cześć druga.

Tekst jest kontynuacją artykułu: http://blog.asobczak.pl/2020/10/12/home-assistant-influxdb-i-grafana-ponownie-na-tapecie-czesc-pierwsza/.

Dobra, dane już mamy. Pora je jakoś gdzieś pokazać. Do tego posłuży nam właśnie Grafana. Instalacja podobnie bezproblemowa jak w przypadku innych dodatków.

Pora dodać źródło danych, w naszym przypadku będzie to wcześniej skonfigurowana baza InfluxDB.

W konfiguracji BARDZO ważna sprawa – wszystkie te dodatki są osobnymi kontenerami Dockera, dlatego musimy się posłużyć specjalnym adresem URL aby skierować Grafana na nasz InfluxDB.
Ten adres to: http://a0d7b954-influxdb:8086

Później już standard, który skonfigurowaliśmy: 
– Database: home_assistant
– User: homeassistant
– Password: jak podawaliśmy przy konfiguracji bazy InfluxDB

WAŻNE po raz kolejny. Najpierw ustawiłem HTTP Method na GET, co jest raczej logiczne – w końcu pobieramy dane. Jednak po jednej z aktualizacji nie udało mi się pobrać danych. Zmieniłem za zaleceniem znalezionych sugestii w internecie na POST i zadziałało. Magia…

Skoro źródło mamy, to możemy dodać pierwszy Dashboard. Czyli pulpit na którym umieścimy nasze wykresy, dane, itp. 

Zwróćcie uwagę na opcję Convert to row – przyda nam się później.

Od razu pojawia nam się panel z możliwością wpisania kwerendy (Query – w języku SQL zapytanie do bazy danych, które ma zwrócić pożądane przez nas wyniki). W naszym przykładzie dodaliśmy dwa czujniki temperatury, nie jest więc niczym wielce niezwykłym, że na razie w miarach (czyli typie danych które chcemy pozyskać) jest wyłącznie stopień Celsjusza. Jeżeli dodacie kolejne, pojawi się ich więcej (wilgotność, %, Mbit/s, Watt, cm, kwh) – wszystko zależy od tego co mierzycie.

Świetnie, coś się pojawia. W prawym górnym rogu macie zasięg czasowy jaki nas interesuje (godzina, 24 godziny, dzień, miesiąc, miesiąc do teraz, poprzedni miesiąc, itp.), w prawym dolnym dość ważny parametr. Dane z czujników czasem są podawane w sposób ciągły (na przykład co kilka sekund), ale niektóre robią to przy zmianie ich wartości. Tak jest na przykład z czujnikami temperatury Xiaomi – jeżeli nie ma zmiany w odczycie, to aktualizują się bodajże co 15 minut. To by powodowało na wykresie 'dziury’ – dlatego zaznaczcie 'connected’. Stworzy nam to sensowny wykres. 
Rozwińcie później strzałkę przy Legend i sprawdźcie sekcję Values – tam możecie wstawić na wykres pewne informacje dotyczące minimalnej, maksymalnej, średniej i aktualnej temperatury. Ja sobie lubię ją zrobić w formie tabeli, jak poniżej.
Takie panele można duplikować (najedźcie na panel, rozwińcie strzałką w dół -> More… -> Duplicate), dzięki temu możemy później w nie szybko wejść, zmodyfikować kwerendę o nazwę czujnika i wyklikać jak poniżej kilka z nich. Teraz czujecie moc? Nie zapomnijcie zapisywać Dashboardu.

No dobra, wykresy mamy. Do wielu zastosowań jednak przydają się zegary. W poprzednich wersjach Grafana robiło się to trochę inaczej, teraz po dodaniu panelu wybieramy Visualization i zmieniamy jak chcemy, na przykład na Gauge.

Podstawowo wygląda to jak poniżej. Jest pewna wartość, którą system interpretuje w formie 'prędkościomierza’. 

Aby ją trochę ubarwić i zrobić mniej monotonną, więcej znaczącą musicie przejść na zakładkę Fields i zdefiniować Thresholds, czyli zakresy w których mają się zmieniać kolory na podstawie danych.

Od -20 (w sumie to od -max) do 5 stopni – niebieski kolor, bo zimno, później zielony aż do 25, 25 w górę – czerwony. 
Jest tu mnóstwo opcji, możliwości – pokazałem Wam zaledwie mały zarys, można spędzić nad tym wiele godzin. Co jest fantastyczne – można te wykresy osadzić bezpośrednio w HA, ale o tym później. Wcześniej kilka dodatkowych sugestii.
Aby po wejściu w zakładkę Grafana od razu pojawił się Wasz piękny, stworzony w pocie czoła pulpit wejdźcie w Configuration -> Preferences i tam wybierzcie go z listy.

Kolejna sugestia – aby rozdzielić logicznie wykresy, zegary, dane o temperaturze, systemie, itp. – przy dodawaniu panelu wybierzcie Convert to row, o którym pisałem wcześniej. Dodacie sekcję, którą później możecie zwijać, rozwijać – jak Wam wygodnie. Bardzo ułatwia nawigację, gdy będziecie mieli kilkadziesiąt paneli.
Na wykres można oczywiście wrzucić więcej niż jedną serię danych (Download/Upload, Temperatura/Wilgotność), odpowiednią ją sformatować, itp. itd. Ale to już innym razem.

Powodzenia!

Home Assistant, InfluxDB i Grafana. Ponownie na tapecie. Cześć pierwsza.

Dobry wieczór! Coś za często ostatnio witam się wieczorem. Cóż, skoro sezon biegowy jeszcze trwa, dzieci jeszcze przez paręnaście lat samodzielne nie będą, dom się sam nie posprząta – pozostają noce 😀

Dość marudzenia, do sedna. Jakiś czas temu (jak widzę – dokładnie dwa lata temu) opisywałem InfluxDB i Grafan spięte z Domoticz – http://blog.asobczak.pl/2018/10/05/grafana-tworzymy-dashboardy/. Czasy się zmieniły, teraz wszystko jest spięte z Home Assistant, więc i to trzeba było doszlifować. Kolejny raz okazało się, że niepotrzebnie podchodziłem do tego jak 'pies do jeża’, bo konfiguracja okazała się prosta, przyjemna i bezproblemowa. Jak to bywa z Home Assistant 😀

Krótkie wyjaśnienie: InfluxDB to relatywnie nowy system baz danych służących to szybkiego zapisu/odczytu ciągów danych uporządkowanych w szeregach czasowych. Brzmi enigmatycznie, ale jest bardzo przydatne do monitorowania parametrów, system IoT (Internet of Things). Czyli dokładnie tego co robimy tutaj 😀 Grafana z kolei jest systemem wizualizacji tych danych. Co prawda InfluxDB ma podobny system już zawarty – Chronograf, ale nie jest on tak potężny i konfigurowalny jak Grafana. Te dwa elementy spięte ze sobą dają prawdziwe 'killer-combo’ (jak ktoś grał w Mortal Kombat to może to przyrównać do Fatality, które robił Johnny Cage waląc po jajkach oponentów). Szybkie, efektywne i efektowne. I to wszystko dostępne za kliknięciem w Supervisor Home Assistant. Repozytorium jednego i drugiego dostępne jest na github: https://github.com/hassio-addons/addon-influxdbhttps://github.com/hassio-addons/addon-grafana. W Hass.io instalacja jest bardziej niż prosta, podstawowa konfiguracja w sumie zawiera to, co potrzebujemy do pracy.

Po włączeniu obu dodatków wyciągnąłem je sobie na boczny pasek, aby na razie łatwiej się pracowało.
Dobra, to co już mamy? Mamy dane źródłowe, czyli czujniki (sensors) Home Assistant -> przekazywane do InfluxDB -> z których to później danych skorzysta Grafana.
Co przekazuje InfluxDB dalej? Tak zwane miary (measurement), termin spotykany również w bazach OLAP.

Kolejna sprawa, aby uzmysłowić Home Assistant, że powinien zacząć przekazywać dane czujników, musimy w configuration.yaml dodać wpis jak poniżej:

influxdb:

  username: homeassistant

  password: !secret my_password

  max_retries: 3

  default_measurement: state

#  include:

#    entities:

#      – sensor.temperature_158d0001b95f89

#      – sensor.temperature_158d0002239fbb

Opatrzona komentarzem sekcja (#) mówi o wyborze czujników, których wartości powinny być przekazane do InfluxDB. Ja zdecydowałem na ten moment na wysłanie wszystkiego, dla testów, zabaw i konfiguracji.
Zaczynamy z 'mięsem’, czyli konkretami.
Jak widać InfluxDB działa, połączył się.

Pora stworzyć bazę danych w zakładce InfluxDB Admin, gdzie będą zapisywane dane z naszego Home Assistant.

Zakładamy bazę home_assistant, jako domyślną dla HA. Jeżeli chcecie nadać inną, musicie to również uwzględnić w configuration.yaml.
Dalej użytkownik i uprawnienia do bazy. Albo standardowy homeassistant, albo taki jak uważacie – i tak musicie później podać go w configuration.yaml.

Co zrobiliśmy? Uruchomiliśmy dodatek InfluxDB w Home Assistant, stworzyliśmy bazę danych, użytkownika który będzie z niej korzystał oraz przyznaliśmy mu uprawnienia dostępu.
Jeżeli wszystko jest skonfigurowane, dla pewności restart Home Assistant i powinniśmy już widzieć dane w zakładce Explore. Na dole, po lewej, macie nazwę naszej bazy danych – home_assistant.autogen. Ja na początku wybrałem sobie dwa czujniki temperatury, które w powyższym wycinku konfiguracji zostały później wykluczone. Jak widać, pojawiła się jedna miara – stopnie Celsjusza. Gdy je rozwiniemy, pod entity_id widzimy dwa czujniki. Po prawej ujawni nam się lista pól – możemy wybrać 'value’. Coś jest – kropka. No, to już dobry znak!
Z tego co wyczytałem, powinienem się pozbyć miar w stylu °C, co jest całkiem logiczne, bo konia z rzędem temu, kto potrafi znak ° znaleźć na klawiaturze przy pisaniu kwerendy. To będzie następny krok, są na to sposoby.

Na ten moment to tyle. InfluxDB działa, możemy pobrać dane. O tym w następnej części arykułu.

’Fajny plugin wczoraj znalazłem’, 'A momenty były?’, 'No maaaasz’ – parafrazując klasyków

Dzień dobry. Ogromną siłą społeczności Home Assistant są dodatki – czy to karty dotyczące integracji z nowym sprzętem, czy też takie, które dotyczą wizualizacji.

Mamy w domu oczyszczacz powietrza Xiaomi, a w Home Assistant akurat brakuje takiej fajnej karty, która by to ładnie pokazywała. Ale ludzie ze społeczności dali radę, jak zwykle zresztą 🙂 

Polecam https://github.com/denysdovhan/purifier-card, jedną z ostatnio dodanych. Bardzo mi przypasowała.

Po pełen kod mojego Home Assistant zapraszam na stronę: https://github.com/CaesarPL/Home-Assistant-Cezar.

Konfiguracja całej karty wygląda następująco:

          – type: entities

            no_card: true

            title: „Powietrze w domu”

            show_header_toggle: false

            state_color: true

            entities:

              – fan.xiaomi_miio_device

              – sensor.mi_aqi

              – sensor.mi_humidity

              – sensor.mi_temperature

          – type: „custom:purifier-card”

            entity: fan.xiaomi_miio_device

            stats:

              – attribute: filter_life_remaining

                unit: '%’

                subtitle: Filter Remaining

              – attribute: motor_speed

                unit: RPS

                subtitle: Motor Speed

            actions:

              – name: Silent

                icon: 'mdi:weather-night’

                speed: Silent

              – name: 25%

                icon: 'mdi:circle-slice-2′

                speed: Favorite

                xiaomi_miio_favorite_level: 3

              – name: 50%

                icon: 'mdi:circle-slice-4′

                speed: Favorite

                xiaomi_miio_favorite_level: 7

              – name: 75%

                icon: 'mdi:circle-slice-6′

                speed: Favorite

                xiaomi_miio_favorite_level: 10

              – name: 100%

                icon: 'mdi:circle-slice-8′

                speed: Favorite

                xiaomi_miio_favorite_level: 14

              – name: Auto

                icon: 'mdi:brightness-auto’

                speed: Auto

            show_name: true

            show_state: true

            show_toolbar: true

            compact_view: false          

Home Assistant i czujnik smogu SDS011 wraz z ESPEasy po MQTT

Dobry wieczór.
Mam ja sobie czujnik smogu SDS011. Kiedyś był Ci on połączony z Domoticz i świetnie sobie działał http://blog.asobczak.pl/2017/12/18/czujnk-smogu-sds011-wemos-przelacznik-wszystko-w-dzialaniu/. Z chwilą przejścia na Home Assistant z czystego lenistwa (a może bardziej obawy) nie chciało mi się zmieniać konfiguracji z ESPEasy na Tasmota czy ESPHome. Jak jest, to niech działa. Ale miałem mały zgryz – nie wiedziałem jak wysłać dane do HA. W końcu jeden z kolegów na grupie FB podał przepis – MQTT! Gdzieś tam mi się w głowie kołatało, że próbowałem to zrobić w ten sposób, ale na czymś poległem. Dzięki niemu wiem już dokładnie na czym, co opiszę poniżej.
Nie przedłużając: głównym problemem u mnie była stara wersje ESPEasy – R147, jeszcze jakby 1.0. W niej po prostu nie była dostępna komunikacja przez MQTT. Niestety ESPEasy nie jest dla mnie dość jasne, Wiki nie jest aktualizowana na bieżąco, w sumie ich github jedynie odzwierciedla stan projektu: https://github.com/letscontrolit/ESPEasy/releases. Po pobraniu wersji 2.0 Mega (o wiele mówiącej nazwie ESP_Easy_mega_20200929_normal_alt_wifi_ESP8266_4M1M) i próbie zmiany wersji przez OTA (Over The Air) mój Wemos przestał się odzywać 😀 Ale pierwsze koty za płoty, podłączyłem konwerter UART (jak w cytowanym poście sprzed dwóch lat) i tym razem wszystko poszło bez problemu.
It’s alive! Wszystkie ustawienia i kod zostały zachowane po przejściu na nową wersję.

Kilka ważnych ustawień – zakładka Config i Append Unit Number to hostname.

Na zakładce Controllers dodajemy nowy Protocol – Home Assistant (openHAB) MQTT, podajemy IP brokera, port oraz dane do logowania (podane w konfiguracji Waszego MQTT). Do tego zaznaczamy Enabled.

Na zakładce Devices przy naszym czujniki musimy zaznaczyć wysyłanie danych do drugiego Controller’a – jak widać powyżej – aktualnie na raz do Domoticz oraz Home Assistant.

Tu już dane z zakładki Info.

Co do konfiguracji powyższego, to sensors.yaml wygląda tak:

  – platform: mqtt
    name: „Czujnik smogu PM25”
    state_topic: „CzujnikSmogu_1/CzujnikSmogu/PM25”
    unit_of_measurement: „ug/m3”

  – platform: mqtt
    name: „Czujnik smogu PM10”
    state_topic: „CzujnikSmogu_1/CzujnikSmogu/PM10”
    unit_of_measurement: „ug/m3”
Zwróćcie uwagę na CzujnikSmogu_1 – to jest efekt zaznaczenia Append Unit Number to hostname.
W ui-lovelace.yaml:
          – type: glance
            no_card: true
            title: „Powietrze na zewnątrz”
            show_name: false
            entities:
              – sensor.czujnik_smogu_pm25
              – sensor.czujnik_smogu_pm10
Po pełen kod mojego Home Assistant zapraszam na stronę: https://github.com/CaesarPL/Home-Assistant-Cezar.
Tylko tle i aż tyle 😀 Powodzenia!
P.S. Tak mi właśnie wpadło do głowy, że trzeba to oprogramować tak, aby pokazywał kiedy normy są przekroczone. Ciekawy temat.

Home Assistant – moje repozytorium dostępne na GitHub

Dzień dobry.

Coś sobie w końcu wydłubałem w Home Assistant w taki sposób, że jestem z tego zadowolony. A że moje korzenie programowania zasadzają się w demoscenie komputerowej, która nauczyła mnie cieszyć się z tego co zrobiłem i dzielić tym – teraz również się dzielę. 

Oto kod YAML mojej konfiguracji Home Assistant:

https://github.com/CaesarPL/Home-Assistant-Cezar

Interface podzielony na karty, z automatyzacjami, itp., itd. Kod podzielony na osobne pliki dla włączników, kamer, czujników, świateł, skryptów, ręczna konfiguracja wyglądu.

Dodatkowym plusem takiego rozwiązania (poddając się krytyce internautów) jest to, że przeglądałem ten kod kilkukrotnie aby uniknąć powtórzeń, starych bloków, oczyścić go, uczynić bardziej logicznym. Na pewno jest jeszcze dużo do zrobienia, na pewno będę go aktualizował. Nienawidzę stać w jednym miejscu zbyt długo 😀

Zapraszam do sprawdzenia, z chęcią dowiem się, że coś można zrobić coś lepiej, łatwiej, szybciej, ładniej.

Home Assistant – wersja 0.115 – Media browser

Usssss… Nie nadążam ze zmianami w konfiguracji a pojawia się coraz więcej ciekawych rzeczy!

W wersji 0.115 najbardziej zainteresował mnie Media browser. Cóż to? Mała ikona, folder w tle, ale jakże wiele dająca.

Po pierwsze, po dodaniu wpisu media_source: w configuration.yaml dostaliśmy możliwość podejrzenia tego, co mamy w folderze media, który może być zamapowany na przykład do naszego NAS. Nie ogarniam jeszcze Dockera tak jakbym chciał (ale staram się nauczyć 😉 ), dlatego nie wiedziałem jak zamapować folder z mojej sieci tak aby Home Assistant go zobaczył. A instalację mam w Docker.

Znalazłem jednak folder pod Ubuntu, gdzie okazało się, że jest ten folder widoczny pod HA. Widocznie tak to zrobili i tyle. Na razie nie wnikam.

/usr/share/hassio/media

A skoro go znalazłem to już sobie go potrafię zmapować na mój NAS.

sudo -s

mount -t cifs //192.168.1.124/Sobczaki/Muzyka /usr/share/hassio/media

Restart Home Assistant i voila! Mam dostęp do całej swojej biblioteki z poziomu Home Assistant.

A dokładniej z poziomu Mi Box. Widzicie ten folder w prawym dolnym rogu? Super, to dzięki niemu teraz mogę z poziomu Home Assistant puścić co chcę na Mi Box. Automatyzacje przyjdą z czasem…

Kolejny temat – Spotify. Tam też można sterować swoimi Playlistami, Ulubionymi, Ostatnio odtwarzanymi, itp.

Najpierw zakładamy nową aplikację na koncie deweloperskim Spotify (tak, pełna wersja Spotify jest konieczna)

https://developer.spotify.com/dashboard/applications

I pozyskane klucze wpisujemy w configuguration.yaml
spotify:
  client_id: !secret spotify_client_id
  client_secret: !secret spotify_client_secret
Dopiero teraz instalujemy Integrację Spotify i dodajemy na stronę:
      – type: media-control
        entity: media_player.spotify_sobczaki
Niby od przybytku głowa nie boli, ale ostatnio nie ma kiedy nawet z nowościami się zapoznać 😀

To jedna z nowości a kiedy sprawdzić zmiany w automatyzacjach, sekcje More info, ładowanie zdjęć użytkowników (to akurat co prawda sam sobie już zrobiłem), zmiany w kalendarzu?