sunucuyu kullanıyorum Kartelektronik WES birkaç yıldır: elektrik paneline entegre edilen ve ister teleinfo yoluyla elektrik olsun, ister metrik amp kelepçeleri aracılığıyla olsun, su, gaz ve diğer birçok şey olsun, evin tüm enerji tüketimini izleyebilen küçük bir kutu. Kendi başına yeterli, son derece eksiksiz bir sunucu. Ancak Home Assistant çok iyi tasarlanmış bir enerji tablosu sunuyor, WES sunucusunu bu ev otomasyon sistemine entegre edebilmek istedim. Bu kılavuz aynısını yapmanıza yardımcı olacaktır.

Önkoşullar
Elbette ağa bağlı işlevsel bir WES sunucusunun yanı sıra işlevsel bir Ev Asistanı kurulumuna da ihtiyacınız olacak.
[içerik-yumurta modülü=AE__domadoofr şablonu=özel/kompakt]
Her şeyden önce, Home Assistant yapılandırma dosyamın aşırı yüklenmemesi için onu birkaç dosyaya böldüm; bu, geliştiriciler tarafından yerel olarak planlanmış bir şey. Burada özellikle iki dosyamız olacak:
- Tüm WES sensörlerinin konfigürasyonunu barındıracak olan sensörler.yaml
- bu sensörleri, Ev Asistanı Enerji tablosu tarafından doğru şekilde tanınacak şekilde özelleştirmenize olanak tanıyacak özelleştirilmiş.yaml
Bunu yapmak için, eğer elinizde yoksa, bu satırları konfigürasyon.yaml dosyalarına eklemeniz yeterlidir:
sensör: !include sensörler.yaml
#Home Assistant özelleştirmesi
ev asistanı:
özelleştir: !includecustom.yaml
Home Assistant'ta WES sunucu sensörleri oluşturma
WES sunucusu ne yazık ki MQTT bağlantısı sunmuyor, ancak bu birkaç yıldır duyuruluyor. Çok yazık, çünkü bu hayatımızı çok daha kolaylaştırırdı. Ancak WES, topladığı bilgileri okumanıza olanak tanıyan çeşitli dosyalar sağlar. En eksiksiz dosya şüphesiz http://IP_DU_WES/data.cgx adresinde bulunan data.cgx'tir. Bu, birkaç dosya arasında hokkabazlık yapmaktan kaçınmak için kullanacağımız dosyadır.
Tüm yararlı bilgileri bu formda bir araya getirir:

Ev Asistanında istenen çeşitli bilgileri bildirmemiz yeterli.
Bunu yapmak için, sensörler.yaml dosyasında (henüz yoksa homeassistant dizininizde oluşturulacak), WES sunucusuna bağlantıyı bildirmemiz gerekiyor:
-platform: dinlenme
isim: wesdata
#WES'inizin IP'si ile değiştirin
kaynak: http://IP_DU_WES/data.cgx
tarama_aralığı: 60
yöntem: AL
kimlik doğrulama: temel
#Sistem kullanıcı adınız ve şifrenizle değiştirin
kullanıcı adı: yönetici
şifre: biz
json_attributes_path: "$.data"
json_öznitelikleri:
- "kene1"
- "tic2"
- "tic3"
- "dürtü"
- "kelepçe"
- "sıcaklık"
- "röle"
- "giriş"
- "analog"
- "sanal_anahtar"
- "değişkenler"
value_template: 'Tamam'
Varsayılanları kullanmıyorsanız, WES sunucusunun IP adresini ve ayrıca kullanıcı adı ve şifreyi belirtmek için kırmızı renkli alanları değiştirmeniz gerekecektir. Dosyayı daha sık veya daha az sıklıkta yoklamak için “scan_interval” değerini de değiştirebilirsiniz. Burada her dakika yoklama yapılacak şekilde ayarlanmıştır ve bu çoğu amaç için işe yarar. Tekrarlanan çağrılarla sunucuyu aşırı yüklemenize gerek yok.
Daha sonra farklı sensörlerin beyanı gelir. Örneğin yoğun/yoğun olmayan bir aboneliğe sahipseniz, elektrik sayacı bilgilerini teleinfo yoluyla okumak için:
batı1hp:
Friendly_name: "Yoğun Saatler Endeksi"
benzersiz_id: westic1hp
aygıt_sınıfı: enerji
birim_of_ölçüm: 'Wh'
değer_şablonu: >-
["tic1"] {{states.sensor.wesdata.attributes| batmadan yüzmek }}["H_PLEINE"]
batı1hc:
Friendly_name: "Yoğun Olmayan Saatler Endeksi"
benzersiz_id: westic1hc
aygıt_sınıfı: enerji
birim_of_ölçüm: 'Wh'
değer_şablonu: >-
["tic1"] {{states.sensor.wesdata.attributes| batmadan yüzmek }}["H_CREUSE"]
İsterseniz “dost_ad” alanlarını özelleştirebilirsiniz: bunlar Ev Asistanı'nda görünecek adlardır. Gerisi değiştirilmemelidir.
Eğer siz de benim gibi Tempo aboneliğine sahipseniz, oluşturabileceğiniz birkaç sensör daha olacak:
#If Tempo aboneliği
batı1bleuhp:
Friendly_name: "Mavi Yoğun Saatler Endeksi"
benzersiz_id: westic1bleuhp
aygıt_sınıfı: enerji
birim_of_ölçüm: 'Wh'
değer_şablonu: >-
["tic1"] {{states.sensor.wesdata.attributes | batmadan yüzmek }}["BBRHPJB"]
batı1bleuhc:
Friendly_name: "Mavi Yoğun Olmayan Saatler Endeksi"
benzersiz_id: westic1bleuhc
aygıt_sınıfı: enerji
birim_of_ölçüm: 'Wh'
değer_şablonu: >-
["tic1"] {{states.sensor.wesdata.attributes| batmadan yüzmek }}["BBRHCJB"]
batı1blanchp:
Friendly_name: "Beyaz Yoğun Saatler Endeksi"
benzersiz_id: westic1blanchp
aygıt_sınıfı: enerji
birim_of_ölçüm: 'Wh'
değer_şablonu: >-
["tic1"] {{states.sensor.wesdata.attributes | batmadan yüzmek }}["BBRHPJW"]
batı1blanchc:
Friendly_name: "Beyaz Yoğun Olmayan Saatler Endeksi"
benzersiz_id: westic1blanchc
aygıt_sınıfı: enerji
birim_of_ölçüm: 'Wh'
değer_şablonu: >-
["tic1"] {{states.sensor.wesdata.attributes| batmadan yüzmek }}["BBRHCJW"]
batı1rougehp:
Friendly_name: "Kırmızı Yoğun Saatler Endeksi"
benzersiz_id: westic1rougehp
aygıt_sınıfı: enerji
birim_of_ölçüm: 'Wh'
değer_şablonu: >-
["tic1"] {{states.sensor.wesdata.attributes | batmadan yüzmek }}["BBRHPJR"]
batı1rougehc:
Friendly_name: "Kırmızı Yoğun Olmayan Saat Endeksi"
benzersiz_id: westic1rougehc
aygıt_sınıfı: enerji
birim_of_ölçüm: 'Wh'
değer_şablonu: >-
["tic1"] {{states.sensor.wesdata.attributes| batmadan yüzmek }}["BBRHCJR"]
Ayrıca enjeksiyon (enerji üretim sözleşmeniz varsa), anlık tüketim ve hatta voltajla ilgili bilgileri de alabiliriz:
batı1inj:
Friendly_name: "Dizin Ekleme"
benzersiz_id: westic1inj
aygıt_sınıfı: enerji
birim_of_ölçüm: 'Wh'
değer_şablonu: >-
["tic1"] {{states.sensor.wesdata.attributes| batmadan yüzmek }}["INJECTION"]
batı1pap:
Friendly_name: "Anında Tüketim"
benzersiz_id: westic1pap
aygıt_sınıfı: görünür_güç
ölçüm_birimi: 'VA'
değer_şablonu: >-
["tic1"] {{states.sensor.wesdata.attributes| batmadan yüzmek }}["PAP"]
batı1 voltajı:
Friendly_name: "Tüketim Gerilimi"
benzersiz_id: batı1gerginliği
aygıt_sınıfı: güç
ölçüm_birimi: 'V'
değer_şablonu: >-
["tic1"] {{states.sensor.wesdata.attributes| batmadan yüzmek }} ["TENSION1"]
Evimde güneş enerjisi üretimimin yeniden satışı için ikinci bir Linky ölçüm cihazım var (%100 yeniden satış sözleşmesi). WES sunucusu da bu sayaca bağlı, üretim bilgilerimi oradan alabiliyorum:
#Fotovoltaik üretim için burada kullanılan ikinci ICT sayacı
batı2prod:
Friendly_name: "Üretim Endeksi"
benzersiz_id: westic2prod
aygıt_sınıfı: enerji
birim_of_ölçüm: 'Wh'
değer_şablonu: >-
["tic2"] {{states.sensor.wesdata.attributes| batmadan yüzmek }}["PRODUCTEUR"]
batı2pap:
Friendly_name: "Anında Tüketim"
benzersiz_id: westic2pap
aygıt_sınıfı: görünür_güç
ölçüm_birimi: 'VA'
değer_şablonu: >-
["tic2"] {{states.sensor.wesdata.attributes| batmadan yüzmek }} ["PAP"]
batı2 voltajı:
Friendly_name: “Üretim Gerilimi”
benzersiz_id: batı2gerginliği
aygıt_sınıfı: güç
ölçüm_birimi: 'V'
değer_şablonu: >-
["tic2"] {{states.sensor.wesdata.attributes| batmadan yüzmek }} ["TENSION1"]
Yoğun olmayan saatlerin durumunu görmemi sağlayan başka bir sensör ekledim: eğer westic1tarif = 1 ise yoğun olmayan saatlerdeyiz demektir. Bu, örneğin belirli makineleri yalnızca ekonomik orandayken tetiklemek gibi senaryolarda çok yararlı bir veridir :)
# Yoğun olmayan saatlerin olup olmadığını belirleyen sensör
batı1 fiyatı:
Friendly_name: "Geçerli fiyat"
benzersiz_id: westic1price
değer_şablonu: >-
["tic1"] {{states.sensor.wesdata.attributes}}["PTEC"]
Wesheurecreuse:
Friendly_name: "Yoğun Olmayan Saatler"
benzersiz_id: wesheurecreuse
değer_şablonu: >-
["tic1"] {% if "kazma" durumunda state.sensor.wesdata.attributes.lower() %}["PTEC"]
1
{% başka %}
0
{% endif %}
WES, Tic (teleinfo) okumanın yanı sıra metrik akım pensleri kullanarak 4 ayrı elektrik hattının tüketimini de izleme yeteneğine sahiptir. Örneğin su ısıtıcınızın, elektrikli aracınızın şarj istasyonunun, ısıtmanın vb. tüketimini takip edebilirsiniz. Bu kodu kullanmanız gerekecek:
Belirli belirli konumları takip etmek için #Amper metrik kelepçeler
wespince1inst:
Friendly_name: "Anında Su Isıtıcısı"
benzersiz_id: wespince1inst
aygıt_sınıfı: geçerli
ölçüm_birimi: 'A'
değer_şablonu: >-
["pince"] {{states.sensor.wesdata.attributes| batmadan yüzmek }}["I1"]
wespince1toplam:
Friendly_name: “Toplam Su Isıtıcısı”
benzersiz_id: wespince1total
aygıt_sınıfı: enerji
ölçüm_birimi: 'kWh'
değer_şablonu: >-
["pince"] {{states.sensor.wesdata.attributes| batmadan yüzmek }}["INDEX1"]
wespince1watt:
Friendly_name: "Su Isıtıcısı Tüketimi"
benzersiz_id: wespince1watt
aygıt_sınıfı: güç
ölçüm_birimi: 'W'
değer_şablonu: >-
Varsayılan olarak WES yalnızca anlık tüketimi amper cinsinden ve tüketim endeksini bildirir. Ben de anlık tüketimin watt cinsinden olmasını istediğim için küçük bir hesaplama ekleyerek “wespince1watt” elde ettim. Kullanımınıza karşılık gelen bir adı kullanmak için “dost_ad”ı değiştirebilirsiniz. Olası 4 penseyi kullanırsanız, bu kodu çoğaltmanız yeterlidir (daha sonra indirmeniz için size dosyada tam olarak veriyorum).
WES sunucusu ayrıca, örneğin su veya gaz tüketimini izlemek gibi farklı amaçlar için kullanılabilen darbe sayaçlarına da sahiptir. Evde ilk sensör beni takip etmek için kullanılıyor su sayacı:
#Darbe sensörleri, örneğin su veya gaz için kullanılır
wenpulse1:
Friendly_name: "Su Sayacı"
benzersiz_id: wespulse1
Device_class: su
ölçüm_birimi: 'L'
değer_şablonu: >-
["impulsion"] {{states.sensor.wesdata.attributes| batmadan yüzmek }} ["INDEX1"]
Kullanımınıza bağlı olarak, adın yanı sıra “device_class” ve “unit_of_measurement” değerlerini de özelleştirmeniz gerekecektir. Bir tanım bulacaksınız burada farklı olası değerler.
WES'e neyin bağlı olduğuna bağlı olarak diğer bilgiler alınabilir. Özellikle, bu kod aracılığıyla sıcaklık okuması (30 proba kadar!) mevcuttur:
#Sıcaklık probları, 30'a kadar mümkündür
wessonde1:
Friendly_name: "Oturma odası"
benzersiz_id: wessonde1
aygıt_sınıfı: sıcaklık
ölçüm_birimi: '°C'
değer_şablonu: >-
["temp"] {{states.sensor.wesdata.attributes| batmadan yüzmek }} ["SONDE1"]
Veya rölelerin durumu:
#Röle
wesrelay1:
Friendly_name: "Aktarma 1"
benzersiz_id: wesrelai1
değer_şablonu: >-
["relais"] {{states.sensor.wesdata.attributes| batmadan yüzmek }} ["RELAIS1"]
wesrelay2:
Friendly_name: "Aktarma 2"
benzersiz_id: wesrelai2
değer_şablonu: >-
["relais"] {{states.sensor.wesdata.attributes| batmadan yüzmek }} ["RELAIS2"]
Ayrıca analog girişlerimiz, sanal anahtarlarımız ve hatta değişkenlerimiz var.
Kodun tamamını, doğru girintilerle ve yolunuzu bulmanıza yardımcı olacak yorumlarla birlikte bu dosyada bulacaksınız.
Tabii ki ihtiyaçlarınıza göre ayarlanacak. Kendi adıma sadece iki TIC metreyi, 4 metrik amper kelepçeyi ve bir nabız ölçeri kullanıyorum.
Yapılandırmanız kaydedildikten sonra, “Geliştirme Araçları”na gitmeniz ve ardından dosya sözdiziminde herhangi bir sorun olmadığından emin olmak için “Yapılandırmayı kontrol et” seçeneğine tıklamanız gerekecektir.

Her şey yolundaysa tek yapmanız gereken yeniden başlat'ı tıklamaktır.
Home Assistant yeniden başlatıldığında, Ayarlar / Cihazlar ve Hizmetler / Varlıklar'a gidip arama çubuğuna “wes” yazarsanız WES için oluşturulan tüm sensörleri bulmalısınız:

Buradan senaryoları tetiklemek, tüketim izleme kontrol panelleri oluşturmak vb. için bunları kullanabilirsiniz.
AMA bunları henüz Ev Asistanı Enerji kontrol panelinde kullanmayın.
WES'i Ev Asistanı Enerji tablosuna entegre edin
Ev Asistanı Enerji kontrol paneli gerçekten çok iyi yapılmış. Ancak yalnızca endeksleri veya toplam tüketim sayaçlarını kabul eder. İndeksler için sensörler oluşturduğumuz için bunun WES için iyi olduğunu söyleyebiliriz. Enerji kontrol panelindeki uyumlu cihazlar listesinde görünmesi dışında bu sensörlerin “state_class: total” türünde bir bağımsız değişkene sahip olması gerekir. Bu argüman doğrudan MQTT sensörlerinin konfigürasyonuna konulabilirse, burada WES için oluşturulan sensörler için durum böyle değildir, çünkü biz MQTT değil REST çağrıları bağlamındayız.
Neyse ki, toplam tüketimi temsil eden her bir sensör için bu tür kodu ekleyerek, bircustom.yaml dosyasındaki sensör bildirimini değiştirebiliriz:
sensör.westic1bleuhp:
durum_sınıfı: toplam
cihaz:
tanımlayıcılar: "WES Sunucusu"
isim: "WES Sunucusu"
modeli: "WES"
üretici: "Carteelectronic"
Size tam dosyamı buraya bırakıyorum:
Bunu homeassistant dizinine yerleştirmeniz ve ardından Home Assistant'ı yeniden başlatmanız yeterlidir (kodun uygun olup olmadığını kontrol ettikten sonra).
Daha sonra nihayet telebilgi, tüketim, üretim, su tüketimi vb. için farklı endekslerimizi Enerji kontrol paneline ekleyebiliriz.

Bir süre sonra, burada yoğun olmayan ve yoğun saatlerin ayrıntılarını (açık mavi) gösteren tüketim izleme özelliğimiz var. Ayrıca fotovoltaik üretimimi sarı renkte izliyorum:

Aynı şekilde diğer bireysel cihazlar arasında su ısıtıcımın tüketim izlemesini de buluyorum:

Ve işte karşınızda!
Çözüm
Ev otomasyon sistemimi yavaş yavaş Ev Asistanı'na geçirirken, WES sunucumu nasıl entegre edeceğimi araştırmak için çok zaman harcadım çünkü Jeedom'un aksine, kullanıma hazır bir Ev Asistanı eklentisi yok. Aşağıdakiler de dahil olmak üzere farklı konular bununla ilgilidir:
- A WES üreticisinin forumunda yayınlayın, Kartelektronik
- A HACF forumunda yayınlayın
Ev Asistanı belgeleri aynı zamanda cihazların nasıl çalıştığını daha iyi anlamanıza da olanak tanır. DİNLENME sensörleri.
Yerel MQTT uyumluluğu işleri çok daha kolaylaştırabilirdi, ancak sonuçta WES'teki tüm verileri kurtarmayı başardık, Home Assistant'ta mükemmel şekilde kullanılabilir, asıl mesele bu. Entegrasyon bir aydan biraz fazla bir süredir benim için çalışıyor ve bildirilecek bir sorun yok. Pek çok şeyi yerel olarak yönettiği için beni sensörleri çoğaltma zorunluluğundan kurtaran WES'imi kullanabiliyorum. Bu kılavuz benim gibi nasıl yapılacağını arayan bazılarına yardımcı olabilirse!
[içerik-yumurta modülü=AE__domadoofr şablonu=özel/kompakt]