C64 Mini – aktualizacja oprogramowania, używanie, wnioski

Dzień dobry,
Pojawił się u mnie całkiem niedawno C64 Mini – mikro wersja jednego z najwspanialszych komputerów ośmiobitowych – Commodore 64. Jako że rodzice kupili (za moimi namowami) Atari 65XE (zostałem mu wierny do samego końca, aż do zakupu pierwszego PC w pierwszej klasie 'ogólniaka’), C64 ominął mnie. Nie ukrywam, że patrzyłem z zazdrością na gry u kolegów, bo w pewnym momencie Atari zostało pominięte przez programistów, którzy skupili się na ZX Spectrum i właśnie Commodore 64. Wojenki między platformami mnie nie interesowały, każdy z tych komputerów oferował coś unikalnego. Jestem bardzo zadowolony, że w swoich zbiorach mam zarówno Atari 65XE, C64 jak i ZX Spectrum + – fajnie jest obcować z realnym sprzętem, mimo upływu lat.
Wracając jednak do C64 Mini – ze strony https://retrogames.biz/thec64 możecie pobrać nowe oprogramowanie, które poprawia niektóre błędy, rozszerza możliwości, zwiększa kompatybilność, itp.

Pobrany plik bin wrzucamy do folderu głównego dowolnego pendrive, po wejściu w opcję Device settings -> System information zostanie wykryty nowy soft, 

Szybka aktualizacja i uruchomi się poprawnie.

Po włożeniu pendrive do jednego z portów możemy korzystać z bogatej biblioteki oprogramowania. A jest ona niebagatelnie duża, bo ponad 2 000 tytułów czeka na re-odkrycie. Niestety, jako fan demosceny, od razu uruchomiłem paczkę 250 najlepszych dem na C64 i srodze się rozczarowałem – kilka się uruchomiło, ale prędzej czy później się zawiesiły – widać na tym przykładzie bardzo dobrze jak koderzy scenowi potrafią wykorzystywać możliwości sprzętu w taki sposób, że nawet emulator (a niczym innym The C64 Mini nie jest) nie sprosta im. Niemniej – przyjemność z uruchamiania i grania jest ogromna! Polecam!

Instalujemy Home Assistant na Intel NUC i Ubuntu

Dzień dobry.
Jakoś tak się złożyło, że wpadł w moje ręce Intel NUC NUC7CJYH z 4GB RAM oraz 120 GB dyskiem SSD. Nie mogąc się oprzeć urokowi tego sprzętu musiałem go sprawdzić i do tego wykorzystać przy instalacji Home Assistant. Zdecydowanie było warto – to sprzęt bardzo mocny, w dobrej konfiguracji, cichy, ładnie wyglądający i do tego niewielki.
Korzystając ze strony https://ubuntu.com/download/intel-nuc-desktop pobrałem wersję, którą następnie trzeba zgrać na przykład na pendrive według instrukcji (https://ubuntu.com/tutorials/tutorial-create-a-usb-stick-on-ubuntu#1-overview). Proste na tyle, że i bez niej można sobie poradzić korzystając z programu Rufus, który stworzy dla nas uruchamialny pendrive. 
Uruchamiamy go,
Wskazujemy plik naszego systemu,

Zatwierdzamy,

Pendrive wkładamy do Intel NUC, włączamy, 

Wybieramy Restore entire hard drive,

I, voila, po chwili jesteśmy w systemie.

WAŻNE! 
Aby Intel NUC włączył się sam po zaniku napięcia, trzeba włączyć tę opcję w BIOS – 
F2 przy starcie -> Advanced -> Power -> Secondary Power Settings -> After Power Failure -> Power On.
Warto również włączyć Bluetooth, może się przydać do Xiaomi Mi Flora 😉
Później już z poziomu terminala kilka instrukcji, instalacja według standardu dostępnego w sieci, u mnie wersja Home Assistant Supervised – czyli jak nazwa wskazuje z Supervisor’em. Doinstalowałem sobie od razu server SSH aby łączyć się już później bezpośrednio z terminalem.
sudo apt update
sudo apt install openssh-server
sudo add-apt-repository universe
sudo -i
apt-get update
apt-get upgrade
apt-get install -y software-properties-common apparmor-utils apt-transport-https avahi-daemon ca-certificates curl dbus jq network-manager socat 
systemctl disable ModemManager
systemctl stop ModemManager 
curl -fsSL get.docker.com | sh 
curl -sL „https://raw.githubusercontent.com/home-assistant/supervised-installer/c674830d8ddc6af9d618755a7995af939dd73fde/installer.sh” | bash -s
Po chwili mamy dostęp do Home Assistant! Logowanie błyskawiczne, dociągnięcie potrzebnych komponentów jest natychmiastowe, czuć moc Intel NUC w stosunku nawet Raspberry Pi 4, nie mówiąc już o RPi3.
Odzyskanie bazy było formalnością dzięki zapisowi poprzednich kopii w chmurze Google: http://blog.asobczak.pl/2019/11/23/hass-io-i-google-drive-backup/

Migracja z Domoticz do Home Assistant – jak to zrobić, żeby się wyrobić…

Dzień dobry.
Niespokojnym duchem będąc i uwielbiając zmieniać, próbować, usprawniać – musiałem przejść na Home Assistant. Było kilka powodów, niektóre mniej, niektóre bardziej ważne.
1. Aby zaktualizować wersję Domoticz którą mam aktualnie (3.8153 – relikt, ale działa) musiałbym przejść z Raspbian Jessie na Raspbian Buster. Jeżeli miałbym to zrobić – czekałaby mnie reinstalacja części komponentów, zapewne problemy z Broadlink (z tego co raportowali czytelnicy jakimś cudem mi się udało, ale wiele osób miało z tym problemy w Domoticz) oraz innymi komponentami. Niestety, w Domoticz nie jest to łatwe.
2. Niestety sprawdziłem jak prosta była i jest konfiguracja Home Assistant – po tym już Domoticz nie był taki sam. Osobiście lubię się bawić w konfiguracje w plikach tekstowych i możliwość dostosowania dzięki temu systemu do moich potrzeb. Teraz w większości przypadków nie trzeba znać YAML – pozostał dla takich świrów jak ja. HA niesamowicie szybko się rozwija.
3. KAŻDY, absolutnie KAŻDY dodatek, integracja, tapeta jest dokładnie opisana. Każda aktualizacja jest dokładnie udokumentowana w sposób jednakowy dla całego systemu. To samo tyczy się aktualizacji samego systemu HA. Bo trzeba wiedzieć, że są one rozłączne, to my decydujemy co ładujemy, na czym się opieramy, w jaki sposób dodajemy.
Niniejszym zaczynam ciąg artykułów o przejściu z Domoticz na Home Assistant! 
Część już opisałem wcześniej, postaram się aktualizować ten artykuł i kolejne sukcesy. A udało mi się w sumie przenieść już prawie wszystko.
Do przeniesienia miałem:
    – gniazdka Xiaomi
    – włączniki ścienne Xiaomi
    – Miilight LED 
    – Yeelight
    – światło przed domem – Sonoff na Tasmota (przy okazji zmiana oprogramowania na najnowsze przez OTA)
    – czujnik smogu – ESPEasy
    – Owl (RFLink)
    – UPS
    – oczyszczacz powietrza
    – MiFlora
    – kamery
    – Xiaomi Gateway
    – Logitech Media Server
    – Broadlink
    – NC+
    – aktywności sprzętów IP, zliczenie czasu używania
    – Sonoff POW
    – Sceny
    – pogoda/Airly
    – internet – raportowanie
    – System
    – skrypty
        – drzwi otwarte
        – emulator obecności
        – powiadamianie o temperaturze
        – poranne news o domu
        – zużycie energii

Home Assistant – Halo, czy ktoś jest w domu?

Dzień dobry. Opierając się na integracji z telefonem iPhone (stałe IP i integracja Home Assistant) mogę sprawdzić swoją obecność w domu i później sprawdzić ją w Home Assistant.
Robimy to poprzez konfigurację, sekcję Persons, gdzie mówimy na jakiej podstawie będziemy wykrywać obecność osoby

Dla zasady dorzuciłem swoje zdjęcie jako ikonę 😉
customize.yaml
# My picture of Person enity
person.Cezar:
  entity_picture: /local/pictures/Avatar_.jpg

Home Assistant – migracja z Tasmota na ESPHome

Dzień dobry.

Jako że lubię testować i sprawdzać co się da – postanowiłem sprawdzić ESPHome, skoro już zdecydowałem na przejście na Home Assistant, a akurat ESPHome świetnie się z nim integruje. Do tego – ma dość ciekawe podejście do tematu.

Aby dowiedzieć się wszystkiego polecam wizytę na stronie https://esphome.io/.

Na większości sprzętów Sonoff (oprócz czujnika smogu) przeszedłem już na Tasmota, ESPHome pozwala na bezbolesną migrację z Tasmota (ale również z ESPEasy). Opisane wszystko jest na stronie: https://esphome.io/guides/migrate_sonoff_tasmota.html. Konfiguracja przy użyciu Tasmota i MQTT nie jest jakoś specjalnie skomplikowana, ale używając ESPHome, faktycznie jest to kilka kliknięć i wpisów (mam plik lovelace-ui.yaml edytowany ręcznie).
Najpierw dodajemy repozytorium:

Dodajemy do Home Assistant:

Po starcie wybieramy Open WEB UI:

Jedynym zgrzytem było to, że musiałem zainstalować nowy kernel na moim Raspberry Pi 4, ponieważ bez tego nie mogłem skompilować plików do wgarnia na Sonoffy. 
Nie było to jakoś magicznie trudne.
sudo apt-get install raspi-config

sudo apt-get install rpi-update

uname -a

Po tej operacji kompilacja plików przeszła już bezboleśnie.

Plik .bin wgrałem do Sonoff Basic:

Encje pojawiły się w integracji i można było je dodać do Home Assistant.

Bardziej dla mnie, konfiguracja SDS011 na przyszłość, ale chyba pozostanę przy ESPEasy.
uart:
  rx_pin: D0
  tx_pin: D6
  baud_rate: 9600
sensor:
  – platform: sds011
    pm_2_5:
      name: „Particulate Matter <2.5µm Concentration”
    pm_10_0:
      name: „Particulate Matter <10.0µm Concentration”
    update_interval: 30min


RetroPie na najnowszym kernelu Raspberry Pi 4 – problem z odwróconym ekranem i dźwiękiem

Lubię Raspberry Pi. Nawet bardzo. Ale czasem o ból głowy przyprawiają zmiany, które nam serwują twórcy, czy to sprzętu, czy systemu.
Mam sobie moją retro maszynę, która świetnie się sprawdza (chociaż nie ma kiedy grać 😉 ). Ale jest, działa, można się cieszyć. Co pewien czas uruchamiam, aktualizuję.
Przeszedłem ostatnio na Raspberry Pi 4, specjalnie w sumie ją po to kupiłem. System się załadował, przez pewien czas był spokój, kilka rzeczy zaczęło mi faktycznie szybciej działać, problemy z niektórymi 'skórkami’ odeszły w niepamięć.
Do czasu…

Po jednej z ostatnich aktualizacji Rasbpian’a przywitał mnie odwrócony obraz zarówno w systemie jak i Emulation Station.
Przestały działać parametry display_rotate=2 w /boot/config.txt. Czego bym nie robił – zero reakcji. Trzeba było sięgnąć po specjalistyczną wiedzę do sieci. Okazało się, że zostały usunięte parametry odpowiadające za obracanie ekranu z config.txt. I tyle – rób sobie co chcesz.
Rozwiązanie okazało się dość proste, chociaż dotarcie do niego już takie nie było.
Musiałem w cmdline.txt
sudo nano /boot/cmdline.txt
dodać następujące dwa parametry na końcu już istniejących:
video=HDMI-A-1:1280x1024M@60,rotate=180 snd-bcm2835.enable_compat_alsa=1
UWAGA! Rozdzielczość swojego monitora oczywiście musicie zmienić, jeżeli jest inna. Drugi parametr przywraca dźwięk na wyjściu jack, z którego osobiście korzystam. Tylko tyle i aż tyle.
Córka może znowu grać w Myszkę Miki.
Do widzenia 😀

Alexa i problem z odczytywaniem zmian po stronie HABridge

Usssss… 

Ostatnie godziny spędzone z Alexą i HABridge były bardzo stresujące…
Przeniosłem cały system Home Assistant w nowe miejsce, na nowej instalacji DietPi, w kontenerze Dockerowym. Chciałem dodać nowe elementy w HABridge, trochę porządku zrobić. I zaciąłem się na dwa dni :/
Skasowałem listę przystkich urządzeń, wybrałem Discover zaczęły się cuda. Czego bym nie robił, jak nie kombinował – Alexa ciągle odczytywała mi poprzednie urządzenia, podpinała dziwne ID pod nie – ogólnie dramat. Poprosiłem nawet mojego dobrego kolegę (pozdrawiam Arka), speca od sieci i Linuxa aby pomógł mi zidentyfikować problem, bo myślałem, że gdzieś, jakimś cudem zainstalowałem osobną instancję, albo konfiguracja HABridge jest odczytywana ze złego miejsca. Sprawdziliśmy każde IP w moim domu – nic.
Bliski rozpaczy wpadłem na pomysł, aby ręcznie skasować te kilka starych urządzeń przypisanych w konfiguracji Alexy jedno po drugim i nagle pomogło! Poprawnie zaczytała kilka testowych urządzeń dodanych do HABridge.

Mission accomplished. Dziękuję Arkowi za pomoc!

Home Assistant, Alexa oraz HABridge. Ufff – uruchomiłem!

Dzień dobry. 
Dylematów przy rezygnacji z Domoticz było kilka. Między innymi RFLink (to już się udało zrobić) oraz integracja z Amazon Alexa. Mam ją zrobioną w dość prosty, ale w zupełności wystarczający sposób – przy pomocy HABridge – http://blog.asobczak.pl/2017/11/02/serwis-alexa-integracja-z-domoticz/
Tak przy okazji – to już prawie trzy lata, ależ ten czas leci…
Zasada jest ta sama – HABridge emuluje Hue Lights firmy Philips, pozwalając sterować włącznikami światła, gniazdkami, itp.
Zmienił się sposób instalacji JDK i teraz wygląda to tak:
sudo apt install default-jdk
Hint: na Ubuntu na Intel NUC plik konfiguracyjny wygląda tak:
[Unit]
Description=HA Bridge
Wants=network.target
After=network.target
[Service]
Type=simple
WorkingDirectory=/home/cezar/habridge
ExecStart=/usr/lib/jvm/java-8-openjdk-amd64/bin/java -jar -Dconfig.file=/home/cezar/habridge/data/habridge.config /home/cezar/habridge/ha-bridge.jar
[Install]
WantedBy=multi-user.target

Pierwsza sprawa do zrobienia – wygenerowanie klucza w Home Assistant, który można później używać w HABridge. Taki uniwersalny, coś w stylu tokenów Google App. Ten to wygenerowany klucz wstawiamy w sekcję konfiguracji HABridge.

Następnie, po restarcie HABridge będziemy mieli dostęp do urządzeń Home Assistant:
Wybieramy Build Item i urządzenia z Home Assistant pojawiają się w HABridge.
Co ważne, można przez https://github.com/custom-components/alexa_media_player (dostępny w HACS) zmusić Alexę do przekazywania nam głosowych komunikatów systemowych. Niestety, da się zrobić wyłącznie przez notyfikacje, ale coś za coś. W sumie to wystarczające do większości zastosowań.
notify:
  – platform: alexa_media
    name: alexa_media
Podczas konfigurowania integracji trzeba podać namiary na konto amazon.
Przykładowe automatyzacje:
– id: '1588278306126′
  alias: Światła – Wyłącz przed domem o 22
  description: ”
  trigger:
  – at: ’22:00′
    platform: time
  condition:
  – condition: state
    entity_id: switch.sonoff_power
    state: 'on’
  action:
  – data: {}
    entity_id: switch.sonoff_power
    service: switch.turn_off
  – data:
      message: HA – wyłączyłem światła przed domem
    service: notify.cezar
  – data:
      data:
        method: all
        type: announce
      message: <amazon:effect name=’whispered’>Lights outside are off</amazon:effect>
      title: Lights outisde
    service: notify.alexa_media_adam_s_echo_dot

– id: light_turn_on_lights_outside
  alias: Światła – Włącz godzinę po zachodzie słońca
  description: Włącz światło przed domem godzinę po zachodzie słońca i powiadom mnie
  trigger:
  – event: sunset
    offset: +01:00
    platform: sun
  condition:
  – condition: state
    entity_id: switch.sonoff_power
    state: 'off’
  action:
  – entity_id: switch.sonoff_power
    service: switch.turn_on
  – data:
      message: HA – światła przed domem włączone
    service: notify.cezar
  – data:
      data:
        method: all
        type: announce
      message: Lights outside are on
      title: Lights outisde
    service: notify.alexa_media_adam_s_echo_dot
Dla dzieci, żeby się trochę pośmiały i zobaczyły na żywym przykładzie te całe automatyzacje stworzyłem jeszcze jedną – po włączeniu światła Alexa wydaje ryk lwa 😀
– id: '1588281346963′
  alias: AleJaja
  description: ”
  trigger:
  – entity_id: switch.wall_switch_right_158d0001dbe288
    from: 'off’
    platform: state
    to: 'on’
  condition: []
  action:
  – data: {}
    service: script.roar_alexa

Home Assistant – automatyzacje

Powitać!
W Smart Home (będę się upierał aby był to odpowiednik Sterowany dom a nie Inteligentny 😉 ) jedną z najważniejszych cech jest wyzwalanie pewnych zachowań na podstawie innych. Na przykład: 'Powiadom jeżeli pobór prądu jest większy niż założony, jeżeli nie ma mnie w domu’, 'Obniż temperaturę na głowicy jeżeli okno jest otwarte dłużej niż 3 minuty’, 'Zapal światła przed domem, jeżeli robi się ciemno’.
Do tego w Home Assistant, w podstawowym zakresie, służą Automations (za nim jest Node-RED, ale to na przyszłość). Mają kilka parametrów, jak na przykład warunki wyzwolenia, warunki ograniczające i finalnie to, co chcemy uruchomić.

Przyciskamy 'Duży, pomarańczowy plus’ i wybieramy:
W sekcji Triggers – czyli 'wyzwalaczy’ zdarzenia
– nazwę
– ewentualny opis
– trigger type: Sun, Sunset, Offset

Conditions, czyli w tym przypadku włącz światło tylko jeżeli jest wyłączone:

No i w końcu Actions – co ma się dziać:
– u mnie włącz Sonoff
– wyślij powiadomienie

Ostatecznie lądują zapisane w pliku automations.yaml, gdzie możne je dalej ręcznie edytować.

Jak na przykład:

– id: '1588278306126′
  alias: Światła – Wyłącz przed domem o 22
  description: ”
  trigger:
  – at: ’22:00′
    platform: time
  condition:
  – condition: state
    entity_id: switch.sonoff_power
    state: 'on’
  action:
  – data: {}
    entity_id: switch.sonoff_power
    service: switch.turn_off
  – data:
      message: HA – wyłączyłem światła przed domem
    service: notify.cezar
  – data:
      data:
        method: all
        type: announce
      message: <amazon:effect name=’whispered’>Lights outside are off</amazon:effect>
      title: Lights outisde
    service: notify.alexa_media_adam_s_echo_dot


– id: '1588675313820′
  alias: Motyw – Ustawienie motywu na starcie HA
  description: ”
  trigger:
  – event: start
    platform: homeassistant
  condition:
  – after: sunrise
    after_offset: +00:30:00
    condition: sun
  action:
  – data:
      name: default
    service: frontend.set_theme

Home Assistant i integracja z tunerem NC+

Przeglądając zasoby internetu pod kątem Home Assistant znalazłem ciekawą integrację dotyczącą tunera NC+.

Wystarczy ściągnąć kod ze strony https://github.com/mercs600/ha-adb_service i umieścić go w folderze configcustom_components:

Po dodaniu w configuration.yaml integracji:

adb_service:
  host: 192.168.1.106

Możemy już dodać pięknego pilota na naszej stronie w kodzie ui-lovelace.yaml:

Kod jest podany w linku na początku artykułu.