Web Analytics

my-skylight-calendar

⭐ 248 stars Turkish by mohesles

🌐 Dil

DIY Akıllı Ev Aile Takvimi (Skylight Klonu)

Sklylight calendar DIY Skylight

📖 Giriş

Eşim son zamanlarda sosyal medyada akıllı ev takvimleri (Skylight, Cozyla, Hearth) ile ilgili reklam bombardımanına tutuldu ve birine 300 doların üzerinde harcamaya hazırdı. Ona izin vermeden önce, bu ürünleri araştırmam için bana bir şans vermesini istedim. Çoğu cihazın benzer işlevsellik sunduğunu, ancak fiyatlarının önemli ölçüde farklılık gösterdiğini fark ettim. En önemlisi, Home Assistant ile uygulayamayacağım olağanüstü bir özellik de görmedim.

Hedef: WAF onaylı (Eş Kabul Faktörü), tezgah üstü dostu, dokunmatik ekranlı bir takvim; ev otomasyonumuza derinlemesine entegre olacak ve aylık ücret gerektirmeyecek.

💡 Neden Kendi Çözümümü Yapıyorum?

Home Assistant ile DIY (Kendin Yap) yolunu seçmek, Skylight/Hearth ekranı satın almaya göre çeşitli avantajlar sundu:

🛠 Donanım Seçimi

Şu anda bu sistem, herhangi bir HD (1920x1080) ekranda gösterilecek şekilde tasarlanmıştır.

Benim durumumda, gereksinim "skylight gibi görünmesi", dokunmatik olması, tezgah üstü kullanıma uygun olması ve farklı yerlere taşınabilmesi idi. Bu nedenle aşağıda anlattığım donanımı tercih ettim. Yine de sizin kullanım durumunuz farklı olabilir ve örneğin bir tablette veya başka bir cihazda göstermek isterseniz ihtiyaca göre uyarlamanız gerekecektir.

Başlangıçta kullandığım donanımı yukarıda belirttiğim nedenlerle seçtim ve ayrıca kamera, hoparlör ve mikrofonla işlevselliği genişletme umudum vardı. Şu anda, bu ek donanım fikirleriyle ilgilenecek zamanım olmadığı için, muhtemelen şimdi farklı inşa ederdim.

✨ Özellikler

---

⚙️ Kurulum Rehberi

Not: Bu kurulum, gerekli tüm yardımcıları, betikleri ve değişkenleri sizin için otomatik olarak oluşturacak bir YAML Paketi kullanır. Bunları elle oluşturmanıza gerek yoktur.

1. Ön Koşullar (HACS)

HACS yüklü olmalıdır. Lütfen aşağıdaki Ön Yüz entegrasyonlarını yükleyin:

*Not: Ayarlar → Cihazlar & Hizmetler bölümünde Browser Mod'un bir Entegrasyon (karo) olarak göründüğünden emin olun, sadece HACS altında değil. Eğer görünmüyorsa, Entegrasyon Ekle → Browser Mod'a tıklayın ve işlemi tamamlayın, ardından HA'yı yeniden başlatın. HACS üzerinden yüklemek sadece dosyaları indirir; entegrasyonu eklemelisiniz ki HA eylemleri/varlıkları kaydetsin.

2. Arka Uç (Beyinler)

   homeassistant:
     packages: !include_dir_named packages
   ``
  • HA yapılandırma dizininizde packages adlı bir klasör oluşturun (eğer yoksa).
  • Bu depodan packages/family_calendar.yaml dosyasını indirin.
  • [ #<--- UPDATE THIS ENTITY] ifadesini arayın ve takvim varlık kimliğini kendi ortamınıza uygun olacak şekilde güncelleyin. Daha fazla ayrıntı için bölüm 3'e bakın.
  • Dosyayı packages/ klasörünüzün içine yerleştirin.
  • Home Assistant'ı yeniden başlatın.

3. Takvimler

Google Takvimleri veya Yerel Takvimleri kullanabilirsiniz.

#### Seçenek A: Takvim İsimlerini Yeniden Kullanma (En Kolayı)

  • Ayarlar > Cihazlar & Servisler bölümüne gidin.
  • Yerel Takvim entegrasyonunu ekleyin.
  • Takvimleri şu isimlerle oluşturun: calendar1, calendar2, calendar3, calendar4, Family.
Bu isimleri kullanırsanız, kod kutudan çıktığı gibi çalışır!*

#### Seçenek B: Özel Takvim

  • Ayarlar > Cihazlar & Servisler bölümüne gidin.
  • Yerel Takvim veya Google Takvim entegrasyonunu ekleyin.
  • Yapılandırma > Entegrasyonlar > Yerel Takvim veya Google Takvim bölümüne gidin ve "Girdi Ekle"yi seçin
  • Oluşturulan her giriş için, dashboard.yaml dosyasını güncellemek üzere varlık kimliğini alın.
  • dashboard.yaml dosyasını açın.
  • # <--- UPDATE THIS ENTITY ifadesini arayın.
  • Ortamınıza uygun varlık kimliğini güncelleyin
#### Tatilleri Ayarlama

Home Assistant güncellemeleriyle birlikte, tatiller artık arayüz üzerinden eklenmektedir:

  • Ayarlar > Cihazlar & Servisler > Entegrasyon Ekle > Tatil bölümüne gidin.
  • Ülkenizi seçin.
  • Varlık kimliğini kontrol edin (ör. calendar.holidays). Varsayılandan farklıysa, dashboard YAML'de bunu güncelleyin.

4. Gösterge Paneli (Görünüm)

  • Ayarlar > Gösterge Paneli bölümüne gidin
  • Gösterge Paneli Ekle'ye tıklayın (Seçenek olarak "Sıfırdan Yeni Gösterge Paneli"ni seçin, "Yan menüye ekle" seçeneğini işaretleyin).
  • Sol menüden yeni oluşturulan gösterge panelini seçin ve düzenlemek için kalem simgesine tıklayın.
  • 3 nokta simgesini seçin ve "Ham yapılandırıcı düzenleyici"yi seçin.
  • dashboard.yaml dosyasındaki kodu kopyalayıp yapıştırın.

Adım 5: Tema (Opsiyonel)

Belirli bir yazı tipi görünümü elde etmek için (Ovo):

  • configuration.yaml dosyanızda frontend: altında bu satırın olduğundan emin olun:
`yaml frontend: themes: !include_dir_merge_named themes `
  • Yapılandırma dizininizde themes adında bir klasör oluşturun.
  • themes/skylight.yaml dosyasını indirip bu klasöre yerleştirin.
  • Dosya Düzenleyicisi'ni kullanarak calbackgrd.png dosyasını /www/ klasörüne yükleyin, bu gösterge panelinde dahili olarak /local olarak çevrilir.
  • Home Assistant'ı yeniden başlatın.
  • Profilinize gidin (Sol altta Kullanıcı Simgesi) ve Tema'yı Skylight olarak değiştirin.
NOT: Tema kapsamlı değildir, bunu aklınızda bulundurun


📐 Nasıl Çalışır (Teknik Detaylar)

Filtre Mantığı

week-planner-card kartı, belirli takvimleri anlık olarak gizlemeyi doğal olarak desteklemez. Bunu çözmek için Girdi Metinlerini Regex filtresi olarak kullandım.

Bir kişiye ait butona tıkladığınızda, filtresi . (Her şeyi göster) ile ^$ (Hiçbir şey gösterme) arasında geçiş yapar.

  • config-template-card, bu değişkenleri takvim kartına dinamik olarak enjekte eder.

Etkinlik Oluşturma Betiği

"Etkinlik Ekle" açılır penceresi, birden fazla kişi ve etkinlik türü (Tüm Gün vs Saatli) için mantığı yöneten tek bir betik kullanır.

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)
``

NOTLAR

Orijinal gönderim, bunu nasıl yapacağınız hakkında üst düzey bir genel bakış sağlamak ve insanların kodu kendi özel senaryolarına uyarlayabilmesine olanak tanımak içindi.

Bunu özellikle yaptım çünkü her ekran ve ihtiyaç farklıdır. Tüm potansiyel ekran boyutları, panolar vb. için geliştirme yapamam. Bu yüzden bahsettiğim ekranda veya herhangi birinde (1920x1080) çalışacak şekilde inşa edildi ancak başkaları için düzenlenebilir olmalı.

Ekran hakkında konuşursak, başta bunu önermemin nedeni, Woot'ta indirimde olması ve o dönemde dokunmatik ekranlı bir ekran edinmenin ekonomik bir yoluydu. Şu anda durum böyle olmayabilir, bu yüzden size uygun olan herhangi bir ekranı kullanın. Tablet, dokunmatik ekran, telefon, fark etmez. Düzenlemeniz gereken asıl şey pano olacak.

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