Daftar Isi:

ESPHOME SONOF S26 Waktu Cahaya: 11 Langkah (dengan Gambar)
ESPHOME SONOF S26 Waktu Cahaya: 11 Langkah (dengan Gambar)

Video: ESPHOME SONOF S26 Waktu Cahaya: 11 Langkah (dengan Gambar)

Video: ESPHOME SONOF S26 Waktu Cahaya: 11 Langkah (dengan Gambar)
Video: Изучай английский через историю ★ история с субтитрам... 2024, November
Anonim
ESPHOME SONOF S26 Waktu Cahaya
ESPHOME SONOF S26 Waktu Cahaya

Selamat siang. Jadi saya memiliki lampu tangki ikan yang ingin saya nyalakan dan matikan pada waktu tertentu dalam sehari. Aku hanya harus membuatnya rumit untuk diriku sendiri. Saya ingin dapat mengubah waktu aktif dan nonaktif dari dasbor Asisten Rumah saya. Mungkin bahkan lebih.

Jadi mari kita lihat seberapa banyak lagi saya bisa memasukkan diri saya ke dalam lubang kelinci.

Langkah 1: Langkah 1: Saya Membutuhkan Cara untuk Mengirim Waktu Dari Asisten Rumah

Beberapa googling membantu. Beberapa menarik rambut Anda membantu, jika Anda benar-benar memilikinya: Buka add-on Editor Kode Visual Studio saya. Di bawah folder Config temukan file configuration.yaml dan salin dan tempel beberapa hal yang saya temukan tersembunyi di beberapa forum. Maaf jika saya ingat saya akan memberikan pengakuan. Menambahkan kode dan memulai ulang asisten rumah.

Langkah 2: Langkah 2: Menambahkan Kode Berikut ke Configuration.yaml

Langkah 2: Menambahkan Kode Berikut ke Configuration.yaml
Langkah 2: Menambahkan Kode Berikut ke Configuration.yaml

masukan_nomor:

ft_start_hr:

Nama: FT Light Start Hours

ikon: mdi:jam-mulai

min: 0

maks: 23

Langkah 1

# inisial: 13

Baris pertama akan menjadi id entitas nomor input.

Selanjutnya kita perlu beberapa detail untuk pria kecil ini:

Sebuah nama akan luar biasa: FT Light Start Hours untuk yang satu ini P. S. FT adalah untuk Fish Tank… Tidak seperti yang Anda pikirkan kan?

Berikutnya adalah ikon opsional. Banyak pilihan di luar sana, jadi gilalah… atau tidak.

Kemudian kita dapat memasukkan nilai min, max dan step. Karena ini adalah jam saya memilih 0 - 23 dengan satu langkah.

Awalnya saya memiliki nilai awal dan ketika asisten rumah memulai ulang, itu akan mengubahnya menjadi nilai awal ini. Saya memutuskan untuk berkomentar karena saya ingin Asisten Rumah mencoba dan mengingat nilai terakhir yang saya tetapkan untuk itu.

Anda dapat memasukkan mode untuk memilih kotak. Tetapi sebagai default, ia memilih slider yang bagus untuk Anda. Saya pikir slider akan dilakukan untuk saat ini.

Waspadai lekukan karena sangat penting. Lihat gambar

Jadi ini akan memberi Anda entitas di asisten rumah untuk dapat menyesuaikan.

Berikut ini tautan ke informasi lebih lanjut tentang nomor input:

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

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

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

sensor:

- platform: templat

sensor:

ft_start_hr:

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

n

Ini akan memberi ESPHome API koneksi yang diperlukan, serta sekarang menjadi integer alih-alih slider teks mewah:-P

Di sini ia mengambil status nomor input dan mengubahnya menjadi bilangan bulat dan menyimpannya dalam sensor.

Berikut adalah beberapa informasi lebih lanjut tentang template:

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

Oh saya mengubah ekstensi File dari file saya menjadi teks sehingga saya dapat Mengunggahnya… Instructables dapat dirusak dengan yaml…

Langkah 4: Langkah 4: Jadi Konfigurasi ESPHome dari Plug Now

Langkah 4: Jadi Konfigurasi ESPHome dari Plug Now
Langkah 4: Jadi Konfigurasi ESPHome dari Plug Now

Saya mulai dengan konfigurasi dasar untuk steker s-on-off dan kemudian mulai mengutak-atik.

Saya tidak akan membahas secara detail tentang cara mem-flash steker S26 dengan ESPHome karena google memiliki semua jawabannya.

File konfigurasi lengkap saya akan tersedia untuk diunduh di akhir. Da Da Dah…

Jadi mari kita mulai dengan bagian tertaut ke Asisten Rumah:

Kita harus membuat sensor yang cocok dengan sensor di home assistant sehingga bisa saling berbicara.

Langkah 5: Langkah 5: Koneksi Asisten Rumah ESPHome… Beam Me Up Scotty

Langkah 5: Koneksi Asisten Rumah ESPHome… Beam Me Up Scotty
Langkah 5: Koneksi Asisten Rumah ESPHome… Beam Me Up Scotty

sensor:

- platform: asisten rumah tangga

entity_id: sensor.ft_start_hr

id: id_ft_start_hr

Jadi sekarang kita buat sensor di ESPHome dengan tipe homeassistant. Siapa yang akan menebak?

ID entitas harus cocok dengan apa yang Anda atur di file configuration.yaml Anda.

Saya menyiapkan id sehingga ESPHome dapat mereferensikan sensor ini dalam banyak pemikiran.

Langkah 6: Langkah 6: Mari Tambahkan Beberapa Waktu

Langkah 6: Mari Tambahkan Beberapa Waktu
Langkah 6: Mari Tambahkan Beberapa Waktu

Jadi dengan ini menjadi steker berjangka waktu … Mari kita tambahkan beberapa waktu … Atau itu mengurangi? Sekarang di masa lalu?

Berikut adalah beberapa dasar dari komponen waktu. Kami dapat memilih beberapa yang berbeda tetapi saya memilih asisten rumah tangga. Terlalu mudah?

esphome.io/components/time.html

Langkah 7: Langkah 7: Interval

Langkah 7: Interval
Langkah 7: Interval

Tidak, ini bukan istirahat, atau bukan?

selang:

- interval: 1 detik

kemudian:

- lambda: |-

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

Jadi saya mengatur interval 1 detik untuk menulis nilai sensor dari asisten rumah ke variabel global.

Saya hanya ingin melakukan ini sekali sedetik karena waktu terus berjalan … tik tok

Langkah 8: Langkah 8: Jadi Kita Punya Waktu dan Uang… Apa Selanjutnya?

Langkah 8: Jadi Kita Punya Waktu dan Uang… Apa Selanjutnya?
Langkah 8: Jadi Kita Punya Waktu dan Uang… Apa Selanjutnya?

Jadi saya memutuskan untuk menggunakan templat sensor biner untuk menentukan apakah sudah waktunya untuk menyalakan sakelar sakelar sakelar… relai

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

start_time_valid bernilai true jika sudah melewati waktu yang ditentukan untuk mengaktifkan relai.

Saya menggunakan pernyataan if bersarang untuk memeriksa apakah kita lebih besar atau sama dengan detik yang diperlukan, lalu menit, dan akhirnya jam.

stop_time_valid benar ketika sekarang sebelum waktunya diatur untuk mematikan sakelar. Ini dibalik untuk memeriksa bahwa sekarang belum melewati waktu yang diperlukan untuk mematikan relai

run_time_valid benar ketika start_time_valid dan stop_time_valid keduanya benar. Saya kira saya bisa saja menggunakan normal dan kondisi untuk yang satu ini. Saya baru saja masuk ke ayunan hal-hal dengan lambdas.

- platform: templat

nama: "Waktu Mulai Berlaku"

id: start_time_valid

lambda: |-

if (id(homeassistant_time).now().hour > id(gl_ft_start_hr)) {

kembali benar;

}

else if (id(homeassistant_time).now().hour == id(gl_ft_start_hr) &&

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

kembali benar;

}

else if (id(homeassistant_time).now().hour == id(gl_ft_start_hr) &&

id(homeassistant_time).now().minute == id(gl_ft_start_mn) &&

id(homeassistant_time).now().second >= id(gl_ft_start_ss)){

kembali benar;

}

lain {

kembali salah;

}

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

Langkah 9: Sekarang untuk Beberapa Script: 'Menjadi, atau Tidak Menjadi: Itulah Pertanyaannya'
Langkah 9: Sekarang untuk Beberapa Script: 'Menjadi, atau Tidak Menjadi: Itulah Pertanyaannya'

Hmm salah script bung!

Jadi jika saya mencolokkan sakelarnya… atau listrik rumah baru saja hidup kembali, saya ingin sakelar tersebut mengetahui apakah itu dimaksudkan untuk hidup atau mati dan bertindak sesuai dengan itu. (ya kita semua pergi untuk pelajaran akting)

Id skrip pertama: checkingstatuson, memeriksa apakah kita seharusnya aktif dan bertindak sesuai dengan itu. Saya juga menyertakan bendera global dengan id: trackingon, untuk memastikan bahwa skrip ini hanya dijalankan sekali dan tidak menghalangi skrip saya yang lain untuk melakukan perannya dalam drama.

Ini memiliki 3 dan kondisi: relai mati, itu dimaksudkan untuk hidup dan saya belum melakukan bagian saya. Ini kemudian akan mematikan skrip lain yang sedang berjalan, menyalakan relai, dan menyetel tanda pelacakan.

Id skrip kedua: checkingstatusoff, adalah kebalikan dari yang pertama. Kami hanya memeriksa apakah kami perlu menutup tirai sekarang. Bendera pelacakan untuk yang satu ini sedang dilacak

Saya menjalankan dua skrip ini dalam interval 1 detik untuk memeriksa setiap detik.

Langkah 10: Langkah 10: Beberapa Script Bonus

Langkah 10: Beberapa Script Bonus
Langkah 10: Beberapa Script Bonus

Dua fitur lagi yang ingin saya tambahkan adalah jika saya mematikan lampu di tangki, lampu itu akan menyala kembali setelah 5 detik jika lampu dimaksudkan untuk menyala pada waktu itu. Juga, jika lampu mati dan saya ingin menyalakannya untuk melihat ikan saya dan itu keluar dari jadwalnya tepat waktu, itu akan menyala selama 5 menit. Ya 5 menit sudah cukup lama… Kembali bekerja.

Id script pertama: relayisoff akan menyalakan lampu selama 5 menit jika keluar dari jadwal tepat waktu dan kemudian mati.

Id skrip kedua: relayison praktis terbalik dari yang pertama dan akan menyalakan kembali lampu 5 detik kemudian jika dimaksudkan untuk menyala. Siapa bilang Anda bisa mematikan lampu saya tuan!

Berikut adalah beberapa informasi lebih lanjut tentang skrip:

esphome.io/guides/automations.html

Beberapa informasi bonus tentang skrip adalah mereka tidak memblokir. Kecuali jika Anda menunda lambda. Uh Tidak Tidak Tidak

Langkah 11: Langkah 11: Beberapa Pemikiran Terakhir

Langkah 11: Beberapa Pemikiran Terakhir
Langkah 11: Beberapa Pemikiran Terakhir
Langkah 11: Beberapa Pemikiran Terakhir
Langkah 11: Beberapa Pemikiran Terakhir

Dari asisten rumah, saya ingin sakelar bertindak dengan cara yang sama seperti tombol.

Saya tidak memberi nama untuk sakelar lokal sensor biner karena tidak perlu melihatnya didorong di asisten rumah.

Saya tidak memberi nama untuk sakelar relai karena saya ingin menggunakan skrip untuk melakukan peralihan dari asisten rumah.

Saya membuat sakelar templat dengan nama sehingga saya dapat menggunakannya untuk beralih dari asisten rumah. Ini akan menjalankan skrip saya sama dengan sakelar lokal di steker.

Saya belum menguji apakah mematikan asisten rumah saya jika steker masih berfungsi dengan benar. Saya berharap begitu. Saya telah melihat beberapa posting tentang beberapa masalah saat kehilangan koneksi ke Home Assistant API.

Saya sangat berharap tutorial kecil ini akan membantu Anda dan jangan ragu untuk membantu saya membuatnya lebih baik. Saya bukan ahli dan belajar sangat lambat. Saya hanya berpikir beberapa hal yang saya pelajari bagaimana melakukannya dapat membantu seseorang di luar sana yang berjuang untuk mengetahuinya.

Sekarang untuk mengubah waktu di asisten rumah berdasarkan matahari terbit dan terbenam…+ - beberapa

Direkomendasikan: