Isi kandungan:

ESPHOME SONOF S26 Lampu Masa: 11 Langkah (dengan Gambar)
ESPHOME SONOF S26 Lampu Masa: 11 Langkah (dengan Gambar)

Video: ESPHOME SONOF S26 Lampu Masa: 11 Langkah (dengan Gambar)

Video: ESPHOME SONOF S26 Lampu Masa: 11 Langkah (dengan Gambar)
Video: Smart Home Malaysia #15 - Home Assistant (Introduction) 2024, Julai
Anonim
ESPHOME SONOF S26 Lampu Masa
ESPHOME SONOF S26 Lampu Masa

Selamat Hari. Oleh itu, saya mempunyai lampu tangki ikan yang saya mahu hidupkan dan matikan pada waktu tertentu dalam sehari. Saya hanya perlu membuatnya rumit untuk diri saya sendiri. Saya mahu dapat mengubah masa ia dihidupkan dan dimatikan dari papan pemuka Pembantu Rumah saya. Mungkin lebih banyak lagi.

Oleh itu, mari kita lihat berapa banyak lagi yang boleh saya bawa ke lubang arnab.

Langkah 1: Langkah 1: Saya Perlu Cara Menghantar Masa Dari Pembantu Rumah

Beberapa googling membantu. Sebilangan mencabut rambut anda membantu, jika anda benar-benar mempunyai: POpen add Visual Studio Code Editor saya. Di bawah folder Config cari fail config.yaml dan salin dan tempelkan beberapa barang yang saya dapati tersembunyi di beberapa forum. Maaf sekiranya saya teringat saya akan memberikan penghargaan. Menambah kod dan memulakan semula pembantu rumah.

Langkah 2: Langkah 2: Menambah Kod Berikut ke Konfigurasi.yaml

Langkah 2: Menambah Kod Berikut ke Configuration.yaml
Langkah 2: Menambah Kod Berikut ke Configuration.yaml

input_number:

ft_start_hr:

nama: Waktu Mula Cahaya FT

ikon: mdi: permulaan jam

min: 0

maks: 23

langkah 1

# awal: 13

Baris pertama akan menjadi id entiti nombor input.

Seterusnya kita memerlukan beberapa butiran untuk lelaki kecil ini:

Satu nama akan menjadi hebat: FT Light Start Hours untuk yang ini P. S. FT adalah untuk Fish Tank … Bukan apa yang anda fikirkan kan?

Seterusnya adalah ikon pilihan. Banyak di luar sana untuk memilih jadi gila … atau tidak.

Kemudian kita boleh memasukkan nilai min, maksimum dan langkah. Kerana ini adalah jam saya memilih 0 - 23 dengan satu langkah.

Pada mulanya saya mempunyai nilai awal dan apabila pembantu rumah dimulakan semula, ia akan mengubahnya menjadi nilai awal ini. Saya memutuskan untuk mengomentarinya kerana saya mahu Pembantu Rumah mencuba dan mengingati nilai terakhir yang telah saya tetapkan.

Anda boleh memasukkan mod untuk memilih kotak. Tetapi secara lalai ia memilih slaid yang bagus untuk anda. Saya rasa slaid akan buat buat masa ini.

Ketahui lekukan kerana sangat penting. Lihat gambar

Oleh itu, ini akan memberi anda entiti pembantu rumah untuk dapat menyesuaikan diri.

Berikut adalah pautan ke lebih banyak maklumat mengenai nombor input:

www.home-assistant.io/integrations/input_n…

Langkah 3: Langkah 3: Sekarang Kita Perlu Mendapatkan Maklumat ke ESPHOME API

Langkah 3: Sekarang Kita Perlu Mendapatkan Maklumat ke ESPHOME API
Langkah 3: Sekarang Kita Perlu Mendapatkan Maklumat ke ESPHOME API

sensor:

- platform: templat

penderia:

ft_start_hr:

value_template: '{{States.input_number.ft_start_hr.state | int}} '

n

Ini akan memberikan ESPHome API sambungan yang diperlukan, dan sekarang ia menjadi bilangan bulat dan bukannya slaid teks mewah:-P

Di sini ia mengambil keadaan nombor input dan menukarnya menjadi bilangan bulat dan menyimpannya dalam sensor.

Berikut adalah beberapa maklumat mengenai templat:

www.home-assistant.io/integrations/templat…

Oh saya menukar sambungan Fail fail saya ke teks supaya saya dapat Memuat naiknya … Instructables mungkin boleh dimusnahkan dengan yaml…

Langkah 4: Langkah 4: Jadi Konfigurasi ESPHome Plug Now

Langkah 4: Jadi Konfigurasi ESPHome Sekarang
Langkah 4: Jadi Konfigurasi ESPHome Sekarang

Saya memulakan dengan konfigurasi dasar untuk palam s-on-off dan kemudian mula bermain-main.

Saya tidak akan menjelaskan secara terperinci mengenai cara memalamkan palam S26 dengan ESPHome kerana google mempunyai semua jawapan.

Fail konfigurasi penuh saya akan tersedia untuk dimuat turun pada akhir. Da Da Dah…

Oleh itu, mari mulakan dengan bahagian yang dipautkan ke Pembantu Rumah:

Kita harus membuat sensor yang sepadan dengan sensor di pembantu rumah supaya mereka dapat bercakap antara satu sama lain.

Langkah 5: Langkah 5: Sambungan Pembantu Rumah ESPHome… Beam Me Up Scotty

Langkah 5: Sambungan Pembantu Rumah ESPHome … Beam Me Up Scotty
Langkah 5: Sambungan Pembantu Rumah ESPHome … Beam Me Up Scotty

sensor:

- platform: homeassistant

entiti_id: sensor.ft_start_hr

id: id_ft_start_hr

Jadi sekarang kami membuat sensor di ESPHome dari jenis homeassistant. Siapa sangka?

Id entiti harus sepadan dengan yang anda tetapkan dalam fail config.yaml anda.

Saya menyediakan id supaya ESPHome dapat merujuk sensor ini dengan banyaknya pemikiran.

Langkah 6: Langkah 6: Mari Tambah Beberapa Masa

Langkah 6: Mari Tambah Beberapa Masa
Langkah 6: Mari Tambah Beberapa Masa

Jadi dengan ini menjadi palam berjangka … Mari kita benar-benar menambah sedikit masa … Atau adakah mengurangkan? Sekarang ada di masa lalu?

Berikut adalah beberapa asas komponen masa. Kami boleh memilih beberapa yang berbeza tetapi saya memilih tahan rumah. Terlalu mudah?

esphome.io/components/time.html

Langkah 7: Langkah 7: Selang

Langkah 7: Selang
Langkah 7: Selang

Bukan bukan rehat, atau bukan?

selang:

- selang: 1sec

kemudian:

- lambda: | -

id (gl_ft_start_hr) = id (id_ft_start_hr).state;

Oleh itu, saya menetapkan selang 1 saat untuk menulis nilai sensor dari pembantu rumah ke pembolehubah global.

Saya hanya mahu melakukan ini sesaat kerana masa berlalu… tandakan

Langkah 8: Langkah 8: Oleh itu, Kita Mempunyai Masa dan Wang … Apa Seterusnya?

Langkah 8: Oleh itu, Kita Mempunyai Masa dan Wang … Apa Seterusnya?
Langkah 8: Oleh itu, Kita Mempunyai Masa dan Wang … Apa Seterusnya?

Oleh itu, saya memutuskan untuk menggunakan templat sensor binari untuk menentukan sama ada waktunya untuk menghidupkan suis suis … relay

Saya membuat tiga suis dengan id: start_time_valid, stop_time_valid dan run_time_valid

start_time_valid adalah benar apabila sekarang melewati masa yang ditetapkan untuk menghidupkan geganti.

Saya menggunakan penyataan bersarang jika pernyataan untuk memeriksa sama ada kita lebih besar atau sama dengan saat yang diperlukan, kemudian minit, dan akhirnya jam.

stop_time_valid adalah benar ketika sekarang sebelum waktunya disiapkan untuk mematikan suis. Ini dibalikkan untuk memeriksa bahawa sekarang belum melepasi masa yang diperlukan untuk mematikan geganti

run_time_valid adalah benar apabila start_time_valid dan stop_time_valid adalah benar. Saya rasa saya boleh menggunakan keadaan biasa dan biasa untuk yang satu ini. Saya baru sahaja terlibat dengan lambda.

- platform: templat

nama: "Masa Mula Sah"

id: start_time_valid

lambda: | -

jika (id (homeassistant_time). sekarang (). jam> id (gl_ft_start_hr)) {

kembali benar;

}

lain jika (id (homeassistant_time). now (). hour == id (gl_ft_start_hr) &&

id (homeassistant_time). sekarang (). minit> id (gl_ft_start_mn)) {

kembali benar;

}

lain jika (id (homeassistant_time). now (). hour == id (gl_ft_start_hr) &&

id (homeassistant_time). sekarang (). minit == id (gl_ft_start_mn) &&

id (homeassistant_time). sekarang (). kedua> = id (gl_ft_start_ss)) {

kembali benar;

}

lain {

kembali palsu;

}

Langkah 9: Langkah 9: Sekarang untuk Beberapa Skrip: 'Menjadi, atau Tidak: Itulah Soalan'

Langkah 9: Sekarang untuk Beberapa Skrip: 'Menjadi, atau Tidak: Itulah Soalan'
Langkah 9: Sekarang untuk Beberapa Skrip: 'Menjadi, atau Tidak: Itulah Soalan'

Hmm salah skrip kawan!

Oleh itu, jika saya memasang suis … atau kuasa rumah kembali hidup, saya mahu suis tahu sama ada ia dimaksudkan untuk hidup atau mati dan bertindak dengan sewajarnya. (ya kita semua akan mengikuti pelajaran lakonan)

Id skrip pertama: checkstatuson, adalah memeriksa sama ada kita akan aktif dan bertindak sewajarnya. Saya juga menyertakan bendera global dengan id: trackingon, untuk memastikan bahawa skrip ini hanya dijalankan sekali dan tidak menghalang skrip saya yang lain untuk memainkan peranan mereka dalam permainan ini.

Ini mempunyai 3 dan syarat: relay dimatikan, yang dimaksudkan untuk menyala dan saya belum melaksanakan tugas saya. Ini kemudian akan mematikan skrip lain yang sedang berjalan, menghidupkan relay dan menetapkan bendera penjejakan.

Id skrip kedua: checkstatusoff, bertentangan dengan yang pertama. Kami hanya memeriksa sama ada kami perlu menutup tirai sekarang. Bendera penjejakan untuk ini adalah trackoff

Saya menjalankan dua skrip ini dalam selang 1 saat untuk memeriksa setiap saat.

Langkah 10: Langkah 10: Beberapa Skrip Bonus

Langkah 10: Beberapa Skrip Bonus
Langkah 10: Beberapa Skrip Bonus

Dua lagi ciri yang ingin saya tambahkan ialah jika saya mematikan lampu di tangki bahawa lampu akan menyala kembali selepas 5 saat sekiranya lampu itu hendak menyala pada waktu itu. Juga, jika lampu mati dan saya ingin menyalakannya untuk melihat ikan saya dan ia sudah lama tidak dijangkakan, ia akan menyala selama 5 minit. Ya 5 minit cukup lama … Kembali bekerja.

Id skrip pertama: relayisoff akan menyala lampu selama 5 minit jika mati dijadualkan tepat pada waktunya dan kemudian dimatikan.

ID skrip kedua: relayison secara praktikal dibalikkan dari yang pertama dan akan menghidupkan lampu kembali 5 saat kemudian jika ia dimaksudkan untuk menyala. Siapa kata anda boleh mematikan tuan saya!

Berikut adalah beberapa maklumat mengenai skrip:

esphome.io/guides/automations.html

Beberapa maklumat bonus mengenai skrip adalah tidak disekat. Kecuali anda melambatkan lambda. Uh Tidak Tidak Tidak

Langkah 11: Langkah 11: Beberapa Pemikiran Akhir

Langkah 11: Beberapa Pemikiran Akhir
Langkah 11: Beberapa Pemikiran Akhir
Langkah 11: Beberapa Pemikiran Akhir
Langkah 11: Beberapa Pemikiran Akhir

Dari pembantu rumah saya mahu suis bertindak dengan cara yang sama seperti butang.

Saya tidak meletakkan nama untuk suis tempatan sensor binari kerana tidak perlu melihatnya didorong oleh pembantu rumah.

Saya tidak meletakkan nama untuk suis geganti kerana saya mahu menggunakan skrip untuk melakukan pertukaran dari pembantu rumah.

Saya membuat suis templat dengan nama supaya saya dapat menggunakannya untuk menukar dari pembantu rumah. Ia akan menjalankan skrip saya sama seperti suis tempatan di palam.

Saya belum menguji sama ada mematikan pembantu rumah jika palam masih berfungsi dengan betul. Saya berharap begitu. Saya telah melihat beberapa catatan mengenai beberapa masalah ketika terputus hubungan dengan Home Assistant API.

Saya sangat berharap tutorial kecil ini dapat membantu anda dan jangan ragu untuk membantu saya menjadikannya lebih baik. Saya bukan pakar dan belajar dengan perlahan. Saya hanya fikir beberapa perkara yang saya pelajari boleh membantu seseorang di luar sana berjuang untuk mengetahuinya.

Sekarang untuk mengubah waktu dalam pembantu rumah berdasarkan matahari terbit dan terbenam … + - beberapa

Disyorkan: