Saya menggunakan server WES Cartelektronik selama beberapa tahun sekarang: ini adalah kotak kecil yang terintegrasi ke dalam panel listrik, dan mampu memantau semua konsumsi energi rumah, baik itu listrik melalui teleinfo atau klem amp metrik, air, gas, dan banyak hal lainnya. Server yang sangat lengkap, itu saja sudah cukup. Namun Home Assistant menawarkan tabel energi yang dirancang dengan sangat baik, saya ingin dapat mengintegrasikan server WES ke dalam sistem otomasi rumah ini. Panduan ini akan membantu Anda melakukan hal yang sama.

Prasyarat
Anda tentu saja harus memiliki server WES yang berfungsi yang terhubung ke jaringan, serta instalasi Home Assistant yang berfungsi.
[modul telur konten=template AE__domadoofr=kustom/kompak]
Pertama-tama, agar file konfigurasi Home Assistant saya tidak kelebihan beban, saya membaginya menjadi beberapa file, sesuatu yang direncanakan secara asli oleh pengembang. Di sini kita akan memiliki dua file khususnya:
- sensor.yaml , yang akan menampung konfigurasi semua sensor WES
- customized.yaml, yang memungkinkan Anda menyesuaikan sensor ini sehingga dikenali dengan benar oleh tabel Energi Asisten Rumah
Untuk melakukannya, cukup tambahkan baris berikut ke file konfigurasi.yaml jika Anda belum memilikinya:
sensor: !termasuk sensor.yaml
#Kustomisasi Asisten Rumah
asisten rumah:
sesuaikan: !sertakan sesuaikan.yaml
Membuat sensor server WES di Home Assistant
Sayangnya server WES tidak menawarkan koneksi MQTT, meskipun hal ini telah diumumkan selama beberapa tahun. Sayang sekali, karena hal itu akan membuat hidup kita jauh lebih mudah. Namun WES menyediakan beberapa file yang memungkinkan Anda membaca informasi yang dikumpulkannya. File terlengkap tidak diragukan lagi adalah data.cgx, tersedia di http://IP_DU_WES/data.cgx. Ini adalah salah satu yang akan kita gunakan untuk menghindari berpindah-pindah antara beberapa file.
Ini menyatukan semua informasi berguna dalam bentuk ini:

Kita hanya perlu mendeklarasikan berbagai informasi yang diinginkan di Home Assistant.
Untuk melakukan ini, dalam file sensor.yaml (yang akan dibuat di direktori homeassistant jika Anda belum memilikinya), kita perlu mendeklarasikan koneksi ke server WES:
-platform: istirahat
nama : wesdata
#Ganti dengan IP WES anda
sumber daya: http://IP_DU_WES/data.cgx
interval_pemindaian: 60
metode: DAPATKAN
otentikasi: dasar
#Ganti dengan nama pengguna dan kata sandi sistem Anda
nama belakang: admin
kata sandi: kita
json_attributes_path: "$.data"
json_atribut:
- "centang1"
- "tic2"
- "tic3"
- "impuls"
- "penjepit"
- "suhu"
- "relai"
- "pintu masuk"
- "analog"
- "sakelar_virtual"
- "variabel"
nilai_templat: 'Oke'
Anda perlu mengganti kolom berwarna merah untuk menunjukkan alamat IP server WES, serta nama pengguna dan kata sandi jika Anda tidak menggunakan yang default. Anda juga dapat mengubah “scan_interval” untuk melakukan polling file lebih sering atau lebih jarang. Di sini diatur untuk melakukan polling setiap menit, yang berfungsi dengan baik untuk sebagian besar tujuan. Tidak perlu membebani server dengan panggilan berulang-ulang.
Berikutnya adalah deklarasi sensor yang berbeda. Untuk membaca informasi meteran listrik melalui teleinfo, misalnya jika Anda sedang berlangganan peak/off-peak:
barat1hp:
Friendly_name: "Indeks Jam sibuk"
id_unik: westic1hp
kelas_perangkat: energi
satuan_pengukuran: 'Apa'
nilai_templat: >-
["tic1"] {{ negara bagian.sensor.wesdata.atribut| mengambang }}["H_PLEINE"]
barat1hc:
Friendly_name: "Indeks Jam Di Luar Jam sibuk"
id_unik: westic1hc
kelas_perangkat: energi
satuan_pengukuran: 'Apa'
nilai_templat: >-
["tic1"] {{ negara bagian.sensor.wesdata.atribut| mengambang }}["H_CREUSE"]
Anda dapat menyesuaikan kolom “friendly_name” jika diinginkan: ini adalah nama yang akan muncul di Home Assistant. Sisanya tidak boleh diubah.
Jika Anda seperti saya yang berlangganan Tempo, akan ada beberapa sensor lagi yang harus dibuat:
#Jika berlangganan Tempo
westic1bleuhp:
Friendly_name: "Indeks Jam Puncak Biru"
unik_id: westic1bleuhp
kelas_perangkat: energi
satuan_pengukuran: 'Apa'
nilai_templat: >-
["tic1"] {{ negara bagian.sensor.wesdata.atribut | mengambang }}["BBRHPJB"]
barat1bleuhc:
Friendly_name: "Indeks Jam Di Luar Jam Sibuk Biru"
id_unik: westic1bleuhc
kelas_perangkat: energi
satuan_pengukuran: 'Apa'
nilai_templat: >-
["tic1"] {{ negara bagian.sensor.wesdata.atribut| mengambang }}["BBRHCJB"]
barat1blanchp:
Friendly_name: "Indeks Jam Puncak Putih"
id_unik: westic1blanchp
kelas_perangkat: energi
satuan_pengukuran: 'Apa'
nilai_templat: >-
["tic1"] {{ negara bagian.sensor.wesdata.atribut | mengambang }}["BBRHPJW"]
barat1blanchc:
Friendly_name: "Indeks Jam Di Luar Jam sibuk"
id_unik: westic1blanchc
kelas_perangkat: energi
satuan_pengukuran: 'Apa'
nilai_templat: >-
["tic1"] {{ negara bagian.sensor.wesdata.atribut| mengambang }}["BBRHCJW"]
barat1rougehp:
Friendly_name: "Indeks Jam Sibuk Merah"
id_unik: westic1rougehp
kelas_perangkat: energi
satuan_pengukuran: 'Apa'
nilai_templat: >-
["tic1"] {{ negara bagian.sensor.wesdata.atribut | mengambang }}["BBRHPJR"]
barat1rougehc:
Friendly_name: "Indeks Jam Di Luar Jam Sibuk Merah"
id_unik: westic1rougehc
kelas_perangkat: energi
satuan_pengukuran: 'Apa'
nilai_templat: >-
["tic1"] {{ negara bagian.sensor.wesdata.atribut| mengambang }}["BBRHCJR"]
Kami juga dapat mengambil informasi terkait injeksi (jika Anda memiliki kontrak produksi energi), konsumsi sesaat, atau bahkan voltase:
barat1inj:
Friendly_name: "Injeksi Indeks"
id_unik: westic1inj
kelas_perangkat: energi
satuan_pengukuran: 'Apa'
nilai_templat: >-
["tic1"] {{ negara bagian.sensor.wesdata.atribut| mengambang }}["INJECTION"]
barat1pap:
Friendly_name: "Konsumsi Instan"
id_unik: westic1pap
kelas_perangkat: kekuatan_semu
satuan_pengukuran: 'VA'
nilai_templat: >-
["tic1"] {{ negara bagian.sensor.wesdata.atribut| mengambang }}["PAP"]
tegangan barat1:
Friendly_name: "Tegangan Konsumsi"
Unique_id: Westic1tension
kelas_perangkat: daya
satuan_pengukuran: 'V'
nilai_templat: >-
["tic1"] {{ negara bagian.sensor.wesdata.atribut| mengambang }} ["TENSION1"]
Di rumah saya memiliki Linky meter kedua, untuk dijual kembali produksi tenaga surya saya (kontrak jual kembali 100%). Server WES juga terhubung ke meteran ini, saya dapat mengambil informasi produksi saya di sana:
#Pengukur TIK kedua yang digunakan di sini untuk produksi fotovoltaik
barat2prod:
Friendly_name: "Indeks Produksi"
id_unik: westic2prod
kelas_perangkat: energi
satuan_pengukuran: 'Apa'
nilai_templat: >-
["tic2"] {{ negara bagian.sensor.wesdata.atribut| mengambang }}["PRODUCTEUR"]
barat2pap:
Friendly_name: "Konsumsi Instan"
id_unik: westic2pap
kelas_perangkat: kekuatan_semu
satuan_pengukuran: 'VA'
nilai_templat: >-
["tic2"] {{ negara bagian.sensor.wesdata.atribut| mengambang }} ["PAP"]
tegangan westic2:
Friendly_name: “Tegangan Produksi”
Unique_id: Westic2tension
kelas_perangkat: daya
satuan_pengukuran: 'V'
nilai_templat: >-
["tic2"] {{ negara bagian.sensor.wesdata.atribut| mengambang }} ["TENSION1"]
Saya menambahkan sensor lain yang memungkinkan saya memiliki status di luar jam sibuk: jika westic1tarif = 1, maka kita berada di luar jam sibuk. Ini adalah data yang sangat berguna dalam skenario misalnya, untuk memicu mesin tertentu hanya ketika kita berada pada tingkat keekonomian :)
# Sensor untuk menentukan apakah ini di luar jam sibuk
harga westic1:
Friendly_name: "Harga saat ini"
id_unik: westic1price
nilai_templat: >-
["tic1"] {{states.sensor.wesdata.attributes}}["PTEC"]
wesheurecreuse:
Friendly_name: "Jam di luar jam sibuk"
Unique_id: wesheurecreuse
nilai_templat: >-
["tic1"] {% jika "menggali" di States.sensor.wesdata.attributes.lower() %}["PTEC"]
1
{% kalau tidak %}
0
{% berakhir jika %}
Selain pembacaan Tic (teleinfo), WES juga mampu memantau konsumsi 4 jalur listrik terpisah, menggunakan penjepit arus metrik. Misalnya, Anda dapat memantau konsumsi pemanas air, stasiun pengisian kendaraan listrik, pemanas, dll. Anda harus menggunakan kode ini:
#Ampere klem metrik untuk mengikuti posisi tertentu tertentu
wespince1inst:
Friendly_name: "Pemanas Air Instan"
unik_id: wespice1inst
kelas_perangkat: saat ini
satuan_pengukuran: 'A'
nilai_templat: >-
["pince"] {{ negara bagian.sensor.wesdata.atribut| mengambang }}["I1"]
wespince1total:
Friendly_name: “Total Pemanas Air”
unik_id: wespince1total
kelas_perangkat: energi
satuan_pengukuran: 'kWh'
nilai_templat: >-
["pince"] {{ negara bagian.sensor.wesdata.atribut| mengambang }}["INDEX1"]
wespince1watt:
Friendly_name: "Konsumsi Pemanas Air"
unik_id: wespince1watt
kelas_perangkat: daya
satuan_pengukuran: 'W'
nilai_templat: >-
Secara default, WES hanya melaporkan konsumsi sesaat dalam ampli, dan indeks konsumsi. Karena saya juga ingin mengetahui konsumsi sesaat dalam watt, saya menambahkan perhitungan kecil untuk mendapatkan “wespice1watt”. Anda dapat mengubah “nama_ramah” untuk menggunakan nama yang sesuai dengan penggunaan Anda. Jika Anda menggunakan 4 tang yang mungkin, cukup duplikat kode ini (saya berikan kepada Anda secara lengkap di file untuk diunduh nanti).
Server WES juga memiliki penghitung pulsa, yang dapat digunakan untuk berbagai hal, seperti memantau konsumsi air atau gas misalnya. Di rumah sensor pertama digunakan untuk melacak saya meteran air:
#Sensor impuls, digunakan misalnya untuk air atau gas
wespulse1:
Friendly_name: "Meteran Air"
unik_id: wespulse1
kelas_perangkat: air
satuan_pengukuran: 'L'
nilai_templat: >-
["impulsion"] {{ negara bagian.sensor.wesdata.atribut| mengambang }} ["INDEX1"]
Bergantung pada penggunaan Anda, Anda perlu menyesuaikan namanya, tetapi juga “kelas_perangkat” dan “pengukuran_unit”. Anda akan menemukan definisi dari kemungkinan nilai yang berbeda di sini.
Informasi lain dapat diambil, tergantung pada apa yang terhubung ke WES. Secara khusus, ada pembacaan suhu (hingga 30 probe!) melalui kode ini:
#Probe suhu, mungkin hingga 30
wessonde1:
Friendly_name: "Ruang tamu"
unik_id: wessonde1
kelas_perangkat: suhu
satuan_pengukuran: '°C'
nilai_templat: >-
["temp"] {{ negara bagian.sensor.wesdata.atribut| mengambang }} ["SONDE1"]
Atau status relay:
#Menyampaikan
werelay1:
Friendly_name: "Relai 1"
unik_id: wesrelai1
nilai_templat: >-
["relais"] {{ negara bagian.sensor.wesdata.atribut| mengambang }} ["RELAIS1"]
werelay2:
Friendly_name: "Relai 2"
unik_id: wesrelai2
nilai_templat: >-
["relais"] {{ negara bagian.sensor.wesdata.atribut| mengambang }} ["RELAIS2"]
Kami juga memiliki input analog, sakelar virtual, dan bahkan variabel.
Anda akan menemukan kode lengkap dalam file ini, dengan lekukan yang benar, dan komentar untuk membantu Anda menemukan jalan Anda.
Tentunya disesuaikan dengan kebutuhan anda. Bagi saya, saya hanya menggunakan dua TIC meter, klem amp 4 metrik, dan meteran pulsa.
Setelah konfigurasi Anda disimpan, Anda perlu membuka “Alat Pengembangan”, lalu klik “Periksa konfigurasi” untuk memastikan tidak ada masalah dalam sintaks file.

Jika semuanya sudah baik, Anda tinggal klik restart.
Setelah Home Assistant dimulai ulang, jika Anda membuka Pengaturan / Perangkat dan Layanan / Entitas, mengetik “wes” di bilah pencarian, Anda akan menemukan semua sensor yang dibuat untuk WES:

Dari sana Anda dapat menggunakannya untuk memicu skenario, membuat dasbor pemantauan konsumsi, dll.
TAPI belum menggunakannya di dashboard Home Assistant Energy.
Integrasikan WES ke dalam tabel Energi Asisten Rumah
Dasbor Home Assistant Energy dibuat dengan sangat baik. Namun ia hanya menerima indeks atau penghitung konsumsi total. Kami dapat mengatakan bahwa ini bagus untuk WES, karena kami telah membuat sensor untuk indeks. Kecuali untuk muncul dalam daftar perangkat yang kompatibel di dasbor Energi, sensor ini harus memiliki argumen bertipe “state_class: total”. Jika argumen ini dapat dimasukkan secara langsung ke dalam konfigurasi sensor MQTT, hal ini tidak berlaku untuk sensor yang dibuat di sini untuk WES, karena kita berada dalam konteks panggilan REST dan bukan MQTT.
Untungnya kita dapat memodifikasi deklarasi sensor dalam file customized.yaml, dengan menambahkan jenis kode ini untuk setiap sensor yang mewakili total konsumsi:
sensor.westic1bleuhp:
kelas_negara: total
perangkat:
pengidentifikasi: "Server WES"
nama: "Server WES"
model: "WES"
pabrikan: "Kartelektronik"
Saya meninggalkan file lengkap saya di sini:
Cukup letakkan di direktori homeassistant, lalu restart Home Assistant lagi (setelah memeriksa apakah kode sudah oke).
Kami akhirnya dapat menambahkan berbagai indeks ke dasbor Energi, baik untuk teleinfo, konsumsi, produksi, konsumsi air, dll.

Setelah beberapa saat, kami akan memantau konsumsi, dengan rincian di luar jam sibuk dan jam sibuk (dengan warna biru muda). Saya juga memantau produksi fotovoltaik saya dengan warna kuning:

Dengan cara yang sama saya menemukan pemantauan konsumsi pemanas air saya, di antara perangkat individual lainnya:

Dan itu dia!
Kesimpulan
Secara bertahap memigrasikan sistem otomasi rumah saya ke Home Assistant, saya menghabiskan banyak waktu untuk meneliti bagaimana mengintegrasikan server WES saya, karena tidak seperti Jeedom, server ini tidak memiliki plugin Home Assistant yang siap digunakan. Berbagai topik membahasnya, termasuk:
- A posting di forum pabrikan WES, Cartelectronic
- A posting di forum HACF
Dokumentasi Home Assistant juga memungkinkan Anda untuk lebih memahami cara kerja perangkat. Sensor REST.
Kompatibilitas MQTT asli akan membuat segalanya lebih mudah, tetapi pada akhirnya kami berhasil memulihkan semua data dari WES, dapat digunakan dengan sempurna di Home Assistant, itu yang utama. Integrasi ini telah berhasil bagi saya selama lebih dari sebulan, dan tidak ada masalah yang perlu dilaporkan. Saya dapat menggunakan WES, sehingga saya tidak perlu memperbanyak sensor, karena WES mengatur banyak hal secara asli. Jika panduan ini dapat membantu beberapa orang seperti saya sedang mencari cara melakukannya!
[modul telur konten=template AE__domadoofr=kustom/kompak]