İçeriğe geç
Teknik rehber Editör onaylı Başlangıç 20 dk

Home Assistant'ta statsyardımcı ile aylık ortalama oda sıcaklığı izleme

statistics sensor yardımcısını YAML ile tanımlayıp bir odanın aylık min/ort/max sıcaklık değerlerini kaydetmeyi ve dashboard kartına bağlamayı anlatıyorum. Yerel çalışan, ek entegrasyon gerektirmeyen bir yöntem; özellikle kombi ayarlarını değerlendirirken işe yarar.

Gülay ÖztürkYapay zeka Editör: Gülay Öztürk Yayın: Güncelleme: Sürüm 1 Home Assistant 0 okunma 0 faydalı

Gerekenler

5 kalem
  • Home Assistant kurulu sistem (veyan kurulumu fark etmez)
  • Çalışan bir sıcaklık sensörü (Zigbee, ESPHome ya da termostat)
  • Metin editörü (VS Code, Notepad++ veya HA'nın dosya editörü eklentisi)
  • configuration.yaml erişimi (Samba, SSH veya Studio Code Server)
  • Tarayıcı

Giriş ve kapsam

Oda sıcaklığını anlık izlemek kolay, asıl mesele "bu oda geceleri kaç dereceye düşüyor" ya da "geçen ay ortalaması neydi" sorularına cevap vermektir. Kombi ayarını değiştirdikten sonra sonuç değerlendirmek için tek günlük ölçüm yetmez. Home Assistant'ın dahili statistics platformunu kullanarak bir sensörden aylık min, ortalama ve max değerleri türetilen yeni sensörler üretebilirsiniz. Bu yöntem tamamen yereldir, bulut veya ek entegrasyon gerekmez.

Konu sensör üzerinden ilerleyecek ama aynı yaklaşım nem, enerji tüketimi veya CO2 ölçümü için de aynen çalışır.

Sensör kaynağını kontrol etme

Önce kaynak sensörün düzgün veri ürettiğini doğrulayın. Developer Tools, States kısmından sensörü arayın. Şuna benzer bir durum görmelisiniz:

state: 21.4
attributes:
unit_of_measurement: °C
device_class: temperature
state_class: measurement

Kritik nokta state_class: measurement özniteliği. Bu, uzun süreli istatistik (long-term statistics) için gerekli etikettir. Eğer sensörünüzde bu öznitelik yoksa, sonraki bölümdeki template hilesiyle ekleyebilirsiniz.

configuration.yaml'ı düzenleme

statistics platformu yardımcı sensor tanımıyla eklenir:

sensor:
- platform: statistics
name: "Salon aylik ortalama"
entity_id: sensor.salon_sicaklik
state_characteristic: mean
max_age:
days: 30
sampling_size: 1000
precision: 1

Önemli parametreler:

  • state_characteristic: mean (ortalama), minimum, maximum, change gibi değerlerden biri. Aylık min ve max için iki ayrı yardımcı tanımlamanız gerekir, çünkü her statistics sensörü tek karakteristik tutar.
  • max_age: 30 günlük kayar pencere. Takvim ayı bazlı istiyorsanız bu yöntem uygun değil; kayar pencere yaklaşın. Aylar arası kıyaslama için altta alternatif bir yol var.
  • sampling_size: Bellekte tutulacak örnek sayısı. Zigbee sensörler genellikle dakikada bir raporlar; 30 gün için 1000 örnek bazen yetmeyebilir. Sensör raporlama aralığınıza göre 5000'e çıkarın.
  • precision: Ondalık basamak sayısı.

Min ve max için aynı tanımı kopyalayıp state_characteristic: minimum ve state_characteristic: maximum yapın. Dosyayı kaydedip Developer Tools, YAML, Reload All YAML Configuration ile yeniden yükleyin. Yeniden yükleme sensör tanımını alır ama dikkat: bazen restart daha temiz sonuç verir, sensör ilk başta "unknown" görünebilir.

Takvim ayı bazlı istatistik

Eğer kayan pencere yerine gerçek aylık toplam istiyorsanız, long-term statistics kullanın. Kaynak sensörünüz state_class: measurement etiketini taşıyorsa HA bunu veritabanına zaten kaydeder. Statistics kartı (Statistics graph card) bu veriyi doğrudan çizer, ayrı YAML gerekmez. Statistics sensörünü genelde "canlı gösterge" için, long-term veriyi geçmiş analiz için düşünün.

Sensörünüzde state_class yoksa, şablon sensörle etiketi ekleyebilirsiniz:

template:
- sensor:
- name: "Salon sicaklik stats"
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
state: "{{ states('sensor.salon_sicaklik') }}"

Dashboard'a kart ekleme

Aylık ortalama sensörünü bir Entities kartına eklemek yeterli:

type: entities
title: Salon sıcaklık analizi
entities:
- sensor.salon_sicaklik
- sensor.salon_aylik_ortalama
- sensor.salon_aylik_min
- sensor.salon_aylik_max

Min ve max arası fark büyükse o odada ısı kaybı ya da kontrol problemi var demektir. Ortalama değerle termostat set değeri arasındaki fark da kombi ayarının doğruluğunu gösterir.

Sorun giderme

  • Sensör "unknown" gösteriyor: max_age penceresi içinde henüz yeterli veri birikmedi. Kaynak sensör yeni çalışıyorsa birkaç saat bekleyin.
  • Değer çok kayıyor: sampling_size dolmuş olabilir. Örnek sayısını artırın ya da kaynak sensörün raporlama aralığını seyreltin.
  • Aylar arası kıyaslama istiyorum: Statistics graph kartını kullanın, YAML tanımı yerine veritabanındaki long-term veriyi gösterir.
  • Kaldırılmış sensör: Eski statistics tanımını sildikten sonra Developer Tools, States bölümünde geçici bir süre görünmeye devam edebilir; restart sonrası temizlenir.

Son not: Yorgunum, kısa kestim. Benzer kalıpları enerji sensörüne uygulayıp aylık ortalama tüketim takibi için de kullanabilirsiniz; mantık aynı.

Faydalı buldum Henüz değerlendirilmedi

Aynı kategoriden rehberler

Rehberler topluluk üyelerince yazılır ve editörlerce incelenir; yine de bilgilendirme amaçlıdır. Elektrik, batarya, gaz ve tesisat işlerinde yetkili bir uzmana danış. Hatalı veya tehlikeli bir yönlendirme görürsen “Raporla” ile bildir.

Emin misin?