Πίνακας περιεχομένων:

ESPHOME SONOF S26 Χρονομετρημένος φωτισμός: 11 βήματα (με εικόνες)
ESPHOME SONOF S26 Χρονομετρημένος φωτισμός: 11 βήματα (με εικόνες)

Βίντεο: ESPHOME SONOF S26 Χρονομετρημένος φωτισμός: 11 βήματα (με εικόνες)

Βίντεο: ESPHOME SONOF S26 Χρονομετρημένος φωτισμός: 11 βήματα (με εικόνες)
Βίντεο: Sonoff S26 R2 - how to flash ESPHome or Tasmota 2024, Ιούλιος
Anonim
ESPHOME SONOF S26 Χρονομετρημένος φωτισμός
ESPHOME SONOF S26 Χρονομετρημένος φωτισμός

Καλή μέρα. Έχω λοιπόν ένα λαμπάκι δεξαμενής ψαριών που θέλω να ανάβω και να σβήνω μια συγκεκριμένη ώρα της ημέρας. Απλώς έπρεπε να το κάνω περίπλοκο για τον εαυτό μου. Θέλω να μπορώ να αλλάξω την ώρα ενεργοποίησης και απενεργοποίησης από τον πίνακα ελέγχου του Home Assistant. Evenσως και περισσότερο.

Ας δούμε λοιπόν πόσο περισσότερο μπορώ να πάρω τον εαυτό μου σε μια τρύπα κουνελιού.

Βήμα 1: Βήμα 1: Χρειάζομαι έναν τρόπο για να στείλω τον Βοηθό από το σπίτι

Κάποιο googling βοηθά. Κάποια τράβηγμα των μαλλιών σας βοηθούν, αν έχετε πραγματικά: Δείξτε το πρόσθετο Visual Studio Code Editor. Κάτω από το φάκελο Config βρείτε το αρχείο configuration.yaml και αντιγράψτε και επικολλήστε κάποια πράγματα που βρήκα κρυμμένα σε κάποιο φόρουμ. Συγνώμη αν θυμήθηκα θα έδινα αναγνώριση. Προστέθηκε ο κωδικός και έγινε επανεκκίνηση του βοηθού στο σπίτι.

Βήμα 2: Βήμα 2: Προστέθηκε ο ακόλουθος κώδικας στο Configuration.yaml

Βήμα 2: Προστέθηκε ο ακόλουθος κώδικας στο Configuration.yaml
Βήμα 2: Προστέθηκε ο ακόλουθος κώδικας στο Configuration.yaml

input_number:

ft_start_hr:

όνομα: Tρες έναρξης FT Light

εικονίδιο: mdi: ρολόι-εκκίνηση

min: 0

μέγιστο: 23

βήμα 1

# αρχικό: 13

Η πρώτη γραμμή θα είναι το αναγνωριστικό οντότητας αριθμού εισόδου.

Στη συνέχεια χρειαζόμαστε μερικές λεπτομέρειες για αυτόν τον μικρό φίλο:

Ένα όνομα θα είναι φοβερό: FT Light Start Hours για αυτό το P. S. Το FT είναι για Fish Tank… Όχι αυτό που νομίζατε σωστά;

Ακολουθεί ένα προαιρετικό εικονίδιο. Πολλά εκεί για να διαλέξετε από το να τρελαθείτε… ή όχι.

Στη συνέχεια, μπορούμε να βάλουμε μια τιμή min, max και step. Καθώς είναι ώρες, επέλεξα 0 - 23 με απλά βήματα.

Αρχικά είχα μια αρχική τιμή και όταν έκανε επανεκκίνηση ο βοηθός σπιτιού θα την άλλαζε σε αυτήν την αρχική τιμή. Αποφάσισα να το σχολιάσω καθώς ήθελα το Home Assistant να προσπαθήσει και να θυμηθεί την τελευταία τιμή που είχα ορίσει για αυτό.

Μπορείτε να θέσετε σε λειτουργία για να επιλέξετε ένα πλαίσιο. Αλλά ως προεπιλογή επιλέγει ένα ωραίο ρυθμιστικό για εσάς. Νομίζω ότι ένα ρυθμιστικό θα κάνει προς το παρόν.

Έχετε υπόψη τις εσοχές καθώς είναι πολύ σημαντικές. Δείτε την εικόνα

Έτσι, αυτά θα σας δώσουν οντότητες στο σπίτι βοηθός για να μπορείτε να προσαρμόζεστε.

Ακολουθεί ένας σύνδεσμος για περισσότερες πληροφορίες σχετικά με τους αριθμούς εισαγωγής:

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

Βήμα 3: Βήμα 3: Τώρα πρέπει να λάβουμε τις πληροφορίες στο ESPHOME API

Βήμα 3: Τώρα πρέπει να λάβουμε τις πληροφορίες στο ESPHOME API
Βήμα 3: Τώρα πρέπει να λάβουμε τις πληροφορίες στο ESPHOME API

αισθητήρας:

- πλατφόρμα: πρότυπο

Αισθητήρες:

ft_start_hr:

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

ν

Αυτό θα δώσει στο ESPHome API τη σύνδεση που απαιτείται, καθώς και τώρα είναι ένας ακέραιος αντί για φανταχτερό ρυθμιστικό κειμένου:-P

Εδώ παίρνει την κατάσταση αριθμού εισόδου και τη μετατρέπει σε ακέραιο και τον αποθηκεύει σε έναν αισθητήρα.

Ακολουθούν μερικές περισσότερες πληροφορίες σχετικά με τα πρότυπα:

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

Ω, άλλαξα την επέκταση αρχείου του αρχείου μου σε κείμενο, ώστε να μπορώ να το ανεβάσω… Οι οδηγίες μπορούν να καταστραφούν με ένα yaml…

Βήμα 4: Βήμα 4: Άρα η διαμόρφωση ESPHome του Plug Now

Βήμα 4: Έτσι, η διαμόρφωση ESPHome του Plug Now
Βήμα 4: Έτσι, η διαμόρφωση ESPHome του Plug Now

Ξεκίνησα με μια βασική ρύθμιση παραμέτρων για το βύσμα s-on-off και στη συνέχεια άρχισα να τσακώνω.

Δεν θα μπω σε λεπτομέρειες για το πώς να αναβοσβήνει το βύσμα S26 με το ESPHome, καθώς το google έχει όλες τις απαντήσεις.

Το πλήρες αρχείο διαμόρφωσής μου θα είναι διαθέσιμο για λήψη στο τέλος. Ντα Ντα Ντα…

Ας ξεκινήσουμε λοιπόν με το συνδεδεμένο μέρος με το Home Assistant:

Πρέπει να δημιουργήσουμε αισθητήρες που ταιριάζουν με τους αισθητήρες στο βοηθό σπιτιού, ώστε να μπορούν να μιλούν μεταξύ τους.

Βήμα 5: Βήμα 5: Η σύνδεση ESPHome Home Assistant… Beam Me Up Scotty

Βήμα 5: Η σύνδεση ESPHome Home Assistant… Beam Me Up Scotty
Βήμα 5: Η σύνδεση ESPHome Home Assistant… Beam Me Up Scotty

αισθητήρας:

- πλατφόρμα: homeassistant

αναγνωριστικό οντότητας: sensor.ft_start_hr

id: id_ft_start_hr

Έτσι, τώρα δημιουργούμε έναν αισθητήρα στο ESPHome του τύπου homeassistant. Ποιος θα το μάντευε;

Το αναγνωριστικό οντότητας θα πρέπει να ταιριάζει με αυτό που έχετε ρυθμίσει στο αρχείο configuration.yaml.

Δημιούργησα ένα αναγνωριστικό έτσι ώστε το ESPHome να μπορεί να αναφέρει αυτόν τον αισθητήρα στην αφθονία της σκέψης του.

Βήμα 6: Βήμα 6: Ας προσθέσουμε λίγο χρόνο

Βήμα 6: Ας προσθέσουμε λίγο χρόνο
Βήμα 6: Ας προσθέσουμε λίγο χρόνο

Έτσι, με αυτό να είναι ένα χρονικό βύσμα … Ας προσθέσουμε πραγματικά λίγο χρόνο… Or αφαιρείται; Είναι τώρα στο παρελθόν;

Ακολουθούν ορισμένα βασικά στοιχεία της συνιστώσας του χρόνου. Μπορούμε να επιλέξουμε μερικές διαφορετικές, αλλά επέλεξα το homeassistant. Πολύ εύκολο?

esphome.io/components/time.html

Βήμα 7: Βήμα 7: Μεσοδιάστημα

Βήμα 7: Μεσοδιάστημα
Βήμα 7: Μεσοδιάστημα

Όχι, δεν είναι διάλειμμα, ή μήπως;

διάστημα:

- διάστημα: 1 δευτερόλεπτο

τότε:

- λάμδα: |-

id (gl_ft_start_hr) = id (id_ft_start_hr). κράτος?

Έτσι, έθεσα ένα διάστημα 1 δευτερολέπτου για να γράψω την τιμή του αισθητήρα από τον οικιακό βοηθό στην καθολική μεταβλητή.

Απλώς θέλω να το κάνω μία φορά το δευτερόλεπτο καθώς ο χρόνος χτυπάει… tick tock

Βήμα 8: Βήμα 8: Έτσι έχουμε χρόνο και χρήματα … Τι στη συνέχεια;

Βήμα 8: Έτσι έχουμε χρόνο και χρήματα … Τι στη συνέχεια
Βήμα 8: Έτσι έχουμε χρόνο και χρήματα … Τι στη συνέχεια

Έτσι αποφάσισα να χρησιμοποιήσω ένα πρότυπο δυαδικού αισθητήρα για να καθορίσω αν ήρθε η ώρα να ενεργοποιήσω τον διακόπτη του διακόπτη … ρελέ

Δημιούργησα τρεις διακόπτες με τα αναγνωριστικά: start_time_valid, stop_time_valid και run_time_valid

Το start_time_valid είναι αληθές όταν έχει παρέλθει πλέον ο χρόνος που έχει ρυθμιστεί για την ενεργοποίηση του ρελέ.

Χρησιμοποίησα τις εντολές ένθετο αν για να ελέγξω αν ήμασταν μεγαλύτεροι ή ίσοι με τα απαιτούμενα δευτερόλεπτα, στη συνέχεια λεπτά και τέλος ώρες.

Το stop_time_valid είναι αληθές όταν είναι τώρα πριν από την ώρα ρύθμισης για να απενεργοποιήσετε το διακόπτη. Αυτό αντιστρέφεται για έλεγχο ότι δεν έχει περάσει ο απαιτούμενος χρόνος για να απενεργοποιήσετε το ρελέ

Το run_time_valid είναι true όταν και το start_time_valid και το stop_time_valid είναι αληθινά. Υποθέτω ότι θα μπορούσα να είχα χρησιμοποιήσει μια κανονική και συνθήκη για αυτό. Μόλις μπήκα στην κίνηση των πραγμάτων με λάμδα.

- πλατφόρμα: πρότυπο

όνομα: "Ισχύει η ώρα έναρξης"

id: start_time_valid

λάμδα: |-

εάν (id (homeassistant_time). τώρα (). ώρα> id (gl_ft_start_hr)) {

επιστροφή αληθινός?

}

else if (id (homeassistant_time). Now (). ώρα == id (gl_ft_start_hr) &&

αναγνωριστικό (homeassistant_time). τώρα (). λεπτό> id (gl_ft_start_mn)) {

επιστροφή αληθινός?

}

else if (id (homeassistant_time). Now (). ώρα == id (gl_ft_start_hr) &&

αναγνωριστικό (homeassistant_time). τώρα (). λεπτό == id (gl_ft_start_mn) &&

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

επιστροφή αληθινός?

}

αλλιώς {

επιστροφή ψευδής?

}

Βήμα 9: Βήμα 9: Τώρα για μερικά σενάρια: «Να είσαι ή να μην είσαι: Αυτή είναι η ερώτηση»

Βήμα 9: Τώρα για μερικά σενάρια: «Να είσαι ή να μην είσαι: Αυτή είναι η ερώτηση»
Βήμα 9: Τώρα για μερικά σενάρια: «Να είσαι ή να μην είσαι: Αυτή είναι η ερώτηση»

Χμμ λάθος σενάριο φίλε!

Έτσι, αν έβαλα τον διακόπτη… ή μόλις το ρεύμα του σπιτιού μόλις επανήλθε, ήθελα ο διακόπτης να γνωρίζει εάν προορίζεται να είναι ενεργοποιημένος ή απενεργοποιημένος και να ενεργεί ανάλογα. (ναι όλοι πηγαίνουμε για μαθήματα υποκριτικής)

Το πρώτο αναγνωριστικό σεναρίου: checkingstatuson, είναι να ελέγξουμε αν προοριζόμαστε να συνεχίσουμε και να ενεργούμε ανάλογα. Έχω συμπεριλάβει επίσης μια παγκόσμια σημαία με το αναγνωριστικό: trackingon, για να διασφαλίσω ότι αυτό το σενάριο εκτελείται μόνο μία φορά και δεν εμποδίζει τα άλλα μου σενάρια να κάνουν το ρόλο τους στο έργο.

Αυτό έχει 3 και προϋποθέσεις: το ρελέ είναι απενεργοποιημένο, πρέπει να είναι ενεργοποιημένο και δεν έχω κάνει ήδη το μέρος μου. Στη συνέχεια, θα απενεργοποιήσετε τυχόν άλλα σενάρια που εκτελούνται, θα ενεργοποιήσετε το ρελέ και θα ορίσετε τις σημαίες παρακολούθησης.

Το δεύτερο αναγνωριστικό σεναρίου: checkingstatusoff, είναι ακριβώς το αντίθετο από το πρώτο. Απλώς ελέγχουμε αν πρέπει να κλείσουμε τις κουρτίνες τώρα. Η σημαία παρακολούθησης για αυτό είναι το trackingoff

Τρέχω αυτά τα δύο σενάρια στο διάστημα 1 δευτερολέπτου για έλεγχο κάθε δευτερόλεπτο.

Βήμα 10: Βήμα 10: Μερικά σενάρια μπόνους

Βήμα 10: Μερικά σενάρια μπόνους
Βήμα 10: Μερικά σενάρια μπόνους

Δύο ακόμη δυνατότητες που ήθελα να προσθέσω ήταν αν σβήσω το φως στη δεξαμενή ότι θα ανάψει ξανά μετά από 5 δευτερόλεπτα εάν το φως πρέπει να είναι αναμμένο εκείνη τη στιγμή. Επίσης, εάν το φως ήταν σβηστό και ήθελα να το ανάψω για να δω τα ψαράκια μου και ήταν εκτός προγραμματισμένου στην ώρα του, θα ανάβει για 5 λεπτά. Ναι, 5 λεπτά είναι αρκετά … Επιστρέψτε στη δουλειά.

Το πρώτο αναγνωριστικό σεναρίου: το relayisoff θα ανάψει το φως για 5 λεπτά εάν είναι απενεργοποιημένο προγραμματισμένο στην ώρα του και στη συνέχεια θα σβήσει.

Το δεύτερο αναγνωριστικό δέσμης ενεργειών: ο αναμεταδότης πρακτικά αντιστρέφεται από το πρώτο και θα ανάψει ξανά το φως 5 δευτερόλεπτα αργότερα, εάν πρόκειται να είναι αναμμένο. Ποιος είπε ότι μπορείτε να σβήσετε το φως μου κύριε!

Ακολουθούν μερικές περισσότερες πληροφορίες σχετικά με τα σενάρια:

esphome.io/guides/automations.html

Ορισμένες πληροφορίες μπόνους σχετικά με τα σενάρια είναι ότι δεν αποκλείουν. Εκτός αν βάλετε καθυστέρηση σε λάμδα. Uh Όχι Όχι Όχι

Βήμα 11: Βήμα 11: Μερικές τελικές σκέψεις

Βήμα 11: Μερικές τελικές σκέψεις
Βήμα 11: Μερικές τελικές σκέψεις
Βήμα 11: Μερικές τελικές σκέψεις
Βήμα 11: Μερικές τελικές σκέψεις

Από βοηθό στο σπίτι ήθελα ο διακόπτης να λειτουργεί με τον ίδιο τρόπο όπως το κουμπί.

Δεν έβαλα όνομα για τον τοπικό διακόπτη του δυαδικού αισθητήρα, καθώς δεν χρειάστηκε να τον δω να πιέζεται στον βοηθό σπιτιού.

Δεν έβαλα όνομα για τον διακόπτη ρελέ καθώς ήθελα να χρησιμοποιήσω τα σενάρια για την εναλλαγή από το βοηθό σπιτιού.

Δημιούργησα έναν διακόπτη προτύπου με ένα όνομα, ώστε να μπορώ να τον χρησιμοποιήσω για εναλλαγή από το σπίτι βοηθό. Θα εκτελέσει τα σενάρια μου το ίδιο με τον τοπικό διακόπτη στο βύσμα.

Δεν έχω δοκιμάσει αν απενεργοποιώ τον οικιακό βοηθό αν το βύσμα εξακολουθεί να λειτουργεί σωστά. Το ελπίζω. Έχω δει κάποιες αναρτήσεις σχετικά με ορισμένα ζητήματα κατά την απώλεια σύνδεσης με το API του Home Assistant.

Ελπίζω πραγματικά αυτό το μικρό σεμινάριο να σας βοηθήσει και μη διστάσετε να με βοηθήσετε να το βελτιώσω. Δεν είμαι ειδικός και μαθαίνω πολύ αργά. Απλώς σκέφτηκα ότι μερικά πράγματα που έμαθα πώς να κάνω μπορεί να βοηθήσουν κάποιον εκεί έξω που αγωνίζεται να το καταλάβει.

Τώρα για να αλλάξετε τις ώρες στο βοηθό σπιτιού με βάση την ανατολή και τη δύση του ηλίου…+ - μερικές

Συνιστάται: