Web Analytics

my-skylight-calendar

⭐ 248 stars Polish by mohesles

🌐 Język

Rodzinny Kalendarz Smart Home DIY (Kopia Skylight)

Kalendarz Sklylight DIY Skylight

📖 Wprowadzenie

Moja żona ostatnio była zasypywana w mediach społecznościowych reklamami inteligentnych kalendarzy domowych (Skylight, Cozyla, Hearth) i była gotowa wydać ponad 300 dolarów na jeden z nich. Zanim dałem jej zielone światło, poprosiłem o szansę, by je zbadać. Zdałem sobie sprawę, że większość oferowanych urządzeń miała podobną funkcjonalność, ale znacząco różniła się ceną. Co najważniejsze, nie zauważyłem żadnej wyjątkowej funkcji, której nie mógłbym zaimplementować w Home Assistant.

Cel: Urządzenie z aprobatą WAF (Wife Acceptance Factor), przyjazny dla blatu ekran dotykowy z kalendarzem, głęboko zintegrowany z naszym inteligentnym domem, bez miesięcznych opłat.

💡 Dlaczego DIY?

Wybór rozwiązania DIY z Home Assistant przyniósł kilka korzyści w porównaniu do kupna wyświetlacza Skylight/Hearth:

🛠 Wybór sprzętu

Obecnie system jest zbudowany tak, by wyświetlać pulpit na dowolnym ekranie HD (1920x1080).

W moim przypadku wymogiem było, by „wyglądało jak” skylight, było dotykowe, stawiane na blacie, z możliwością przenoszenia w różne miejsca. Dlatego wybrałem sprzęt opisany poniżej. Jednak Twój przypadek może być inny i wymagać dostosowania, np. jeśli chcesz wyświetlać to na tablecie lub innym urządzeniu.

Sprzęt, którego pierwotnie użyłem, wybrałem w oparciu o powyższe kryteria oraz z nadzieją na rozszerzenie funkcjonalności przy użyciu kamery, głośnika i mikrofonu. Obecnie z perspektywy czasu zbudowałbym to inaczej, ponieważ nie miałem czasu na realizację tych dodatkowych pomysłów.

✨ Funkcje

---

⚙️ Przewodnik instalacji

Uwaga: Ta konfiguracja używa pakietu YAML, który automatycznie utworzy wszystkie potrzebne pomocniki, skrypty i zmienne. Nie musisz ich tworzyć ręcznie.

1. Wymagania wstępne (HACS)

Musisz mieć zainstalowany HACS. Zainstaluj następujące integracje Frontend:

*Uwaga: W Ustawienia → Urządzenia i Usługi upewnij się, że Browser Mod pojawia się jako Integracja (kafelek), a nie tylko pod HACS. Jeśli go tam nie ma, kliknij Dodaj Integrację → Browser Mod i dokończ proces, następnie zrestartuj HA. Instalacja przez HACS tylko pobiera pliki; musisz dodać integrację, aby HA zarejestrował jej akcje/encje.

2. Backend (Mózg systemu)

   homeassistant:
     packages: !include_dir_named packages
   ``
  • Utwórz folder o nazwie packages w katalogu konfiguracyjnym HA (jeśli jeszcze go nie masz).
  • Pobierz plik packages/family_calendar.yaml z tego repozytorium.
  • Wyszukaj ciąg [ #<--- UPDATE THIS ENTITY] i zaktualizuj identyfikator encji kalendarza, aby odpowiadał Twojemu środowisku. Zobacz sekcję 3 po więcej szczegółów.
  • Umieść plik w folderze packages/.
  • Zrestartuj Home Assistant.

3. Kalendarze

Możesz użyć Kalendarzy Google lub Kalendarzy Lokalnych.

#### Opcja A: Ponowne użycie nazw kalendarzy (najprostsze)

  • Przejdź do Ustawienia > Urządzenia i usługi.
  • Dodaj integrację Kalendarz lokalny.
  • Utwórz kalendarze o dokładnych nazwach: calendar1, calendar2, calendar3, calendar4, Family.
Jeśli użyjesz tych nazw, kod zadziała od razu!*

#### Opcja B: Własny kalendarz

  • Przejdź do Ustawienia > Urządzenia i usługi.
  • Dodaj integrację Kalendarz lokalny lub Kalendarz Google.
  • Przejdź do Konfiguracja > Integracje > Kalendarz lokalny lub Kalendarz Google i wybierz "Dodaj wpis"
  • Dla każdego utworzonego wpisu pobierz identyfikator encji do zaktualizowania w pliku dashboard.yaml.
  • Otwórz dashboard.yaml.
  • Wyszukaj # <--- UPDATE THIS ENTITY.
  • Zaktualizuj identyfikator encji odpowiedni dla Twojego środowiska
#### Konfiguracja świąt

Od czasu aktualizacji Home Assistant, święta dodawane są teraz przez interfejs UI:

  • Przejdź do Ustawienia > Urządzenia i usługi > Dodaj integrację > Holiday.
  • Wybierz swój kraj.
  • Sprawdź identyfikator encji (np. calendar.holidays). Jeśli różni się od domyślnego, zaktualizuj go w pliku dashboard YAML.

4. Dashboard (Wygląd)

  • Przejdź do Ustawienia > Dashboard
  • Kliknij Dodaj Dashboard (Wybierz opcję "Nowy dashboard od podstaw", upewnij się, że zaznaczono "Dodaj do paska bocznego").
  • W menu po lewej wybierz nowo utworzony dashboard i kliknij ikonę ołówka, aby go edytować.
  • Wybierz ikonę z trzema kropkami i wybierz "Edytor konfiguracji surowej".
  • Skopiuj i wklej kod z dashboard.yaml.

Krok 5: Motyw (Opcjonalnie)

Aby uzyskać określony wygląd czcionki (Ovo):

  • Upewnij się, że w pliku configuration.yaml znajduje się ta linia pod frontend:
`yaml frontend: themes: !include_dir_merge_named themes `
  • Utwórz folder o nazwie themes w swoim katalogu konfiguracyjnym.
  • Pobierz themes/skylight.yaml i umieść go w tym folderze.
  • Użyj Edytora Plików i wgraj calbackgrd.png do folderu /www/, co jest wewnętrznie tłumaczone na /local na pulpicie.
  • Zrestartuj Home Assistant.
  • Przejdź do swojego Profilu (ikona użytkownika na dole po lewej) i zmień Motyw na Skylight.
UWAGA: Motyw nie jest kompleksowy, miej to na uwadze


📐 Jak to działa (pod maską)

Logika filtrowania

week-planner-card nie obsługuje natywnie ukrywania konkretnych kalendarzy w locie. Aby to obejść, użyłem Input Texts działających jako filtry Regex.

Gdy klikniesz przycisk osoby, przełącza on jej filtr między . (Pokaż wszystko) a ^$ (Nie pokazuj nic).

  • config-template-card dynamicznie wstrzykuje te zmienne do karty kalendarza.

Skrypt tworzenia wydarzenia

Okno "Dodaj wydarzenie" korzysta z jednego skryptu obsługującego logikę dla wielu osób i typów wydarzeń (Całodniowe vs Czasowe).

yaml

Simplified Logic Example

target_calendar: "{{ calendar_map.get(states('input_select.calendar_select')) }}"

choose:

  • conditions: "All Day Event is ON"
action: calendar.create_event (start_date, end_date)
  • conditions: "All Day Event is OFF"
action: calendar.create_event (start_date_time, end_date_time)
``

UWAGI

Mój oryginalny post miał na celu jedynie przedstawienie ogólnego zarysu jak to zrobić oraz umożliwienie użytkownikom dostosowania kodu do własnych, specyficznych scenariuszy.

Zrobiłem to w szczególności dlatego, że każdy wyświetlacz i potrzeba są inne. Nie mogę opracować rozwiązania dla wszystkich możliwych rozmiarów wyświetlaczy, pulpitów itp. Zostało to więc zbudowane tak, aby działało na wyświetlaczu, o którym wspomniałem, lub dowolnym innym (1920x1080), ale powinno być edytowalne dla pozostałych.

Jeśli chodzi o wyświetlacz, pierwotnie zaproponowałem właśnie ten, ponieważ był w promocji na Woot i był bardzo ekonomicznym sposobem na zdobycie ekranu dotykowego w tamtym czasie. Teraz może to już nie być aktualne, więc użyj dowolnego wyświetlacza, który Ci odpowiada. Tablet, ekran dotykowy, telefon, cokolwiek. Główną rzeczą, którą będziesz musiał edytować, jest dashboard.

--- Tranlated By Open Ai Tx | Last indexed: 2026-03-08 ---