ESPHome Cloud Builder - Kompiluj w chmurze dla dowolnej wersji wydania

Jak już wielokrotnie wspominałem nie jestem programistą, ale marzenie posiadania własnego repozytorium z projektem na Github dziś stało się możliwe do spełnienia.
Przedstawiam swój pomysł na kompilowanie firmware pod ESPHome z wykorzystaniem chmurowej platformy cloud development.

  • Dla wszystkich, którzy mają słabszy sprzęt i kompilacja ciągnie się długo
  • Dla wszystkich, którzy chcą na szybko sprawdzić swój kod na innej wersji wydania ESPHome
  • Dla każdego kto chce się czegoś nauczyć (wbudowany Agent AI w narzędzia deweloperskie platformy)

Nie musisz:

  • :x: Instalować ESPHome na swoim komputerze
  • :x: Posiadać instancji Home Assistant
  • :x: Instalować Pythona, Docker, czy innych narzędzi
  • :x: Martwić się o system operacyjny (działa na Windows, Mac, Linux, ChromeOS)
  • :x: Mieć mocnego komputera (kompilacja odbywa się w chmurze)

Wystarczy:

  • :white_check_mark: Przeglądarka internetowa
  • :white_check_mark: Darmowe konto na GitHub lub ONA
  • :white_check_mark: Połączenie z Internetem

To jak mieć tymczasowy komputer do wynajęcia za darmo, który znika po zakończeniu pracy.


:rocket: Jak to działa

  • ESPHome uruchamiany jest wewnątrz oficjalnego kontenera Docker
  • Obraz kontenera jest przypięty do konkretnej wersji ESPHome
  • W Codespaces/ONA automatycznie uruchamia się kontener z przypisanym portem 6052
  • ESPHome Dashboard jest dostępny w przeglądarce internetowej
  • Firmware kompilowany jest w całości w chmurze

Nie jest wymagana żadna lokalna instalacja ESPHome, wystarczy dostęp do Internetu.

Zapraszam do testów:

2 Likes

Dla zainteresowanych używaniem platformy ONA.

:moneybag: Koszty i limity platformy ONA

:free: Plan Darmowy (Free)

Parametr Wartość
Jednorazowy bonus po rejestracji $10 kredytów OCU
Dodatkowa jednorazowa pula 40 OCU
Równoległe środowiska Do 3
Auto‑usuwanie środowisk Po 4 dniach nieaktywności
Parametry maszyny 4 vCPU, 16 GB RAM, 80 GB dysku

:1234: Zużycie OCU (orientacyjne)

Operacja Koszt
Uruchomienie VM przez 1 godzinę ~1 OCU
Kompilacja firmware ESPHome (2–5 min) ~0.1 OCU
Praca z AI zależy od użycia

:tada: Co to oznacza w praktyce?

Z darmowych kredytów możesz wykonać około 50–100 kompilacji firmware, w zależności od czasu działania środowiska.

:zap: Plan Core (od $20/miesiąc)

Parametr Wartość
Miesięczna pula OCU 80–2200 OCU (zależnie od planu)
Równoległe środowiska Bez limitu
Auto‑usuwanie środowisk Po 7 dniach
Parametry maszyn Do 32 vCPU, 128 GB RAM, 200 GB dysku
GPU Dostępne

:link: Więcej informacji

Pełny cennik: Pricing | Ona - AI software engineers

Ciekawa usługa, i w sumie można by jej użyć do wielu innych rzeczy, natomiast co ja skreśla to brak planu Pay as you go.
Do sporadycznego wykorzystania się nadaję dopóki są te darmowe kredyty a potem co? 20$ miesięcznie ? No raczej nie :slightly_smiling_face:‍↔

Masz 100% racji i nie pomyślałem o tym ograniczeniu ONA.
Ale jest alternatywa, której do dziś nie byłem świadomy.
Porównywalne rozwiązanie nazywa się GitHub Codespaces

Może jeszcze nawet prostszy w użyciu, również z Agentem AI.


Poprawiłem już dokumentację w repozytorium, bo wyszło jak bym reklamował ONA.

Porównajmy zatem darmową ofertę Codespaces:
GitHub Free (darmowe konto osobiste):

  • 15 GB miejsca na dysku miesięcznie
  • 120 godzin czasu obliczeniowego miesięcznie

Warto wiedzieć, że:

  • Czas obliczeniowy zależy od typu maszyny (2, 4, 8, 16 lub 32 rdzenie) - na przykład użycie maszyny 2-rdzeniowej przez godzinę to 1 godzina z limitu, ale maszyna 4-rdzeniowa zużyje 2 godziny z limitu
  • Po przekroczeniu darmowego limitu, jeśli nie masz ustawionej metody płatności, dostęp zostanie zablokowany
  • Organizacje i konta Enterprise nie mają darmowego limitu

Limit resetuje się na początku każdego miesięcznego cyklu rozliczeniowego.

Jeszcze jedno o czym warto wiedzieć:

Projekty w GitHub Codespaces są automatycznie usuwane po określonym czasie nieaktywności:

Domyślny okres przechowywania

  • 30 dni - domyślnie codespace jest usuwany po 30 dniach nieaktywności (od momentu zatrzymania)
  • Możesz ustawić własny okres przechowywania od 0 do 30 dni

Jak działa licznik:

  • Licznik resetuje się za każdym razem, gdy otworzysz i połączysz się z codespace
  • Licznik zaczyna się od nowa po zatrzymaniu codespace
  • Jeśli ustawisz okres dłuższy niż 1 dzień, dostaniesz powiadomienie e-mail na 24 godziny przed usunięciem

Jak zapobiec usunięciu:

  1. Otwórz codespace - każde otwarcie resetuje licznik
  2. Przypnij codespace - użyj opcji “Keep codespace” (zakładka z ikoną), aby zachować go na zawsze (dopóki nie usuniesz ręcznie)
  • Uwaga: ta opcja nie jest dostępna dla codespaces należących do organizacji z własną polityką

Ważne:

  • Codespace jest usuwany nawet jeśli zawiera niezapisane zmiany
  • Organizacje mogą ustawić własne, krótsze limity dla swoich repozytoriów
  • Zachowane codespace’y nadal zajmują miejsce i liczą się do Twojego limitu pamięci

Jak już mamy w miesiącu darmowe 60 godzin dla maszyny z 4 rdzeniami, 16GB RAM i 32GB przestrzeni dyskowej to porównajmy czasy kompilacji na obu platformach, czyli ten darmowy komputer.

Ten sam projekt, na tej samej wersji ESPHome, z wyczyszczonymi bibliotekami. Czas start…


  • ONA z wynikiem 352,93 sekund.


Dostępne rdzenie CPU:

Parametr Wartość
vCPU 4
Procesor Intel Xeon Platinum 8375C @ 2.90GHz
Fizyczne rdzenie 2
Wątki na rdzeń 2
Sockety 1

  • GiHub z wynikiem 459,79 sekund.

Dostępne rdzenie CPU:*

Parametr Wartość
vCPU 4
Procesor AMD EPYC 7763 64-Core Processor (2.45 GHz)
Fizyczne rdzenie 2
Wątki na rdzeń 2
Sockety 1