Πίνακας περιεχομένων:
- Βήμα 1: Βήμα 1: Χρειάζομαι έναν τρόπο για να στείλω τον Βοηθό από το σπίτι
- Βήμα 2: Βήμα 2: Προστέθηκε ο ακόλουθος κώδικας στο Configuration.yaml
- Βήμα 3: Βήμα 3: Τώρα πρέπει να λάβουμε τις πληροφορίες στο ESPHOME API
- Βήμα 4: Βήμα 4: Άρα η διαμόρφωση ESPHome του Plug Now
- Βήμα 5: Βήμα 5: Η σύνδεση ESPHome Home Assistant… Beam Me Up Scotty
- Βήμα 6: Βήμα 6: Ας προσθέσουμε λίγο χρόνο
- Βήμα 7: Βήμα 7: Μεσοδιάστημα
- Βήμα 8: Βήμα 8: Έτσι έχουμε χρόνο και χρήματα … Τι στη συνέχεια;
- Βήμα 9: Βήμα 9: Τώρα για μερικά σενάρια: «Να είσαι ή να μην είσαι: Αυτή είναι η ερώτηση»
- Βήμα 10: Βήμα 10: Μερικά σενάρια μπόνους
- Βήμα 11: Βήμα 11: Μερικές τελικές σκέψεις
Βίντεο: ESPHOME SONOF S26 Χρονομετρημένος φωτισμός: 11 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:33
Καλή μέρα. Έχω λοιπόν ένα λαμπάκι δεξαμενής ψαριών που θέλω να ανάβω και να σβήνω μια συγκεκριμένη ώρα της ημέρας. Απλώς έπρεπε να το κάνω περίπλοκο για τον εαυτό μου. Θέλω να μπορώ να αλλάξω την ώρα ενεργοποίησης και απενεργοποίησης από τον πίνακα ελέγχου του Home Assistant. Evenσως και περισσότερο.
Ας δούμε λοιπόν πόσο περισσότερο μπορώ να πάρω τον εαυτό μου σε μια τρύπα κουνελιού.
Βήμα 1: Βήμα 1: Χρειάζομαι έναν τρόπο για να στείλω τον Βοηθό από το σπίτι
Κάποιο googling βοηθά. Κάποια τράβηγμα των μαλλιών σας βοηθούν, αν έχετε πραγματικά: Δείξτε το πρόσθετο Visual Studio Code Editor. Κάτω από το φάκελο Config βρείτε το αρχείο configuration.yaml και αντιγράψτε και επικολλήστε κάποια πράγματα που βρήκα κρυμμένα σε κάποιο φόρουμ. Συγνώμη αν θυμήθηκα θα έδινα αναγνώριση. Προστέθηκε ο κωδικός και έγινε επανεκκίνηση του βοηθού στο σπίτι.
Βήμα 2: Βήμα 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
αισθητήρας:
- πλατφόρμα: πρότυπο
Αισθητήρες:
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
Ξεκίνησα με μια βασική ρύθμιση παραμέτρων για το βύσμα s-on-off και στη συνέχεια άρχισα να τσακώνω.
Δεν θα μπω σε λεπτομέρειες για το πώς να αναβοσβήνει το βύσμα S26 με το ESPHome, καθώς το google έχει όλες τις απαντήσεις.
Το πλήρες αρχείο διαμόρφωσής μου θα είναι διαθέσιμο για λήψη στο τέλος. Ντα Ντα Ντα…
Ας ξεκινήσουμε λοιπόν με το συνδεδεμένο μέρος με το Home Assistant:
Πρέπει να δημιουργήσουμε αισθητήρες που ταιριάζουν με τους αισθητήρες στο βοηθό σπιτιού, ώστε να μπορούν να μιλούν μεταξύ τους.
Βήμα 5: Βήμα 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: Ας προσθέσουμε λίγο χρόνο
Έτσι, με αυτό να είναι ένα χρονικό βύσμα … Ας προσθέσουμε πραγματικά λίγο χρόνο… Or αφαιρείται; Είναι τώρα στο παρελθόν;
Ακολουθούν ορισμένα βασικά στοιχεία της συνιστώσας του χρόνου. Μπορούμε να επιλέξουμε μερικές διαφορετικές, αλλά επέλεξα το homeassistant. Πολύ εύκολο?
esphome.io/components/time.html
Βήμα 7: Βήμα 7: Μεσοδιάστημα
Όχι, δεν είναι διάλειμμα, ή μήπως;
διάστημα:
- διάστημα: 1 δευτερόλεπτο
τότε:
- λάμδα: |-
id (gl_ft_start_hr) = id (id_ft_start_hr). κράτος?
Έτσι, έθεσα ένα διάστημα 1 δευτερολέπτου για να γράψω την τιμή του αισθητήρα από τον οικιακό βοηθό στην καθολική μεταβλητή.
Απλώς θέλω να το κάνω μία φορά το δευτερόλεπτο καθώς ο χρόνος χτυπάει… tick tock
Βήμα 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: Τώρα για μερικά σενάρια: «Να είσαι ή να μην είσαι: Αυτή είναι η ερώτηση»
Χμμ λάθος σενάριο φίλε!
Έτσι, αν έβαλα τον διακόπτη… ή μόλις το ρεύμα του σπιτιού μόλις επανήλθε, ήθελα ο διακόπτης να γνωρίζει εάν προορίζεται να είναι ενεργοποιημένος ή απενεργοποιημένος και να ενεργεί ανάλογα. (ναι όλοι πηγαίνουμε για μαθήματα υποκριτικής)
Το πρώτο αναγνωριστικό σεναρίου: checkingstatuson, είναι να ελέγξουμε αν προοριζόμαστε να συνεχίσουμε και να ενεργούμε ανάλογα. Έχω συμπεριλάβει επίσης μια παγκόσμια σημαία με το αναγνωριστικό: trackingon, για να διασφαλίσω ότι αυτό το σενάριο εκτελείται μόνο μία φορά και δεν εμποδίζει τα άλλα μου σενάρια να κάνουν το ρόλο τους στο έργο.
Αυτό έχει 3 και προϋποθέσεις: το ρελέ είναι απενεργοποιημένο, πρέπει να είναι ενεργοποιημένο και δεν έχω κάνει ήδη το μέρος μου. Στη συνέχεια, θα απενεργοποιήσετε τυχόν άλλα σενάρια που εκτελούνται, θα ενεργοποιήσετε το ρελέ και θα ορίσετε τις σημαίες παρακολούθησης.
Το δεύτερο αναγνωριστικό σεναρίου: checkingstatusoff, είναι ακριβώς το αντίθετο από το πρώτο. Απλώς ελέγχουμε αν πρέπει να κλείσουμε τις κουρτίνες τώρα. Η σημαία παρακολούθησης για αυτό είναι το trackingoff
Τρέχω αυτά τα δύο σενάρια στο διάστημα 1 δευτερολέπτου για έλεγχο κάθε δευτερόλεπτο.
Βήμα 10: Βήμα 10: Μερικά σενάρια μπόνους
Δύο ακόμη δυνατότητες που ήθελα να προσθέσω ήταν αν σβήσω το φως στη δεξαμενή ότι θα ανάψει ξανά μετά από 5 δευτερόλεπτα εάν το φως πρέπει να είναι αναμμένο εκείνη τη στιγμή. Επίσης, εάν το φως ήταν σβηστό και ήθελα να το ανάψω για να δω τα ψαράκια μου και ήταν εκτός προγραμματισμένου στην ώρα του, θα ανάβει για 5 λεπτά. Ναι, 5 λεπτά είναι αρκετά … Επιστρέψτε στη δουλειά.
Το πρώτο αναγνωριστικό σεναρίου: το relayisoff θα ανάψει το φως για 5 λεπτά εάν είναι απενεργοποιημένο προγραμματισμένο στην ώρα του και στη συνέχεια θα σβήσει.
Το δεύτερο αναγνωριστικό δέσμης ενεργειών: ο αναμεταδότης πρακτικά αντιστρέφεται από το πρώτο και θα ανάψει ξανά το φως 5 δευτερόλεπτα αργότερα, εάν πρόκειται να είναι αναμμένο. Ποιος είπε ότι μπορείτε να σβήσετε το φως μου κύριε!
Ακολουθούν μερικές περισσότερες πληροφορίες σχετικά με τα σενάρια:
esphome.io/guides/automations.html
Ορισμένες πληροφορίες μπόνους σχετικά με τα σενάρια είναι ότι δεν αποκλείουν. Εκτός αν βάλετε καθυστέρηση σε λάμδα. Uh Όχι Όχι Όχι
Βήμα 11: Βήμα 11: Μερικές τελικές σκέψεις
Από βοηθό στο σπίτι ήθελα ο διακόπτης να λειτουργεί με τον ίδιο τρόπο όπως το κουμπί.
Δεν έβαλα όνομα για τον τοπικό διακόπτη του δυαδικού αισθητήρα, καθώς δεν χρειάστηκε να τον δω να πιέζεται στον βοηθό σπιτιού.
Δεν έβαλα όνομα για τον διακόπτη ρελέ καθώς ήθελα να χρησιμοποιήσω τα σενάρια για την εναλλαγή από το βοηθό σπιτιού.
Δημιούργησα έναν διακόπτη προτύπου με ένα όνομα, ώστε να μπορώ να τον χρησιμοποιήσω για εναλλαγή από το σπίτι βοηθό. Θα εκτελέσει τα σενάρια μου το ίδιο με τον τοπικό διακόπτη στο βύσμα.
Δεν έχω δοκιμάσει αν απενεργοποιώ τον οικιακό βοηθό αν το βύσμα εξακολουθεί να λειτουργεί σωστά. Το ελπίζω. Έχω δει κάποιες αναρτήσεις σχετικά με ορισμένα ζητήματα κατά την απώλεια σύνδεσης με το API του Home Assistant.
Ελπίζω πραγματικά αυτό το μικρό σεμινάριο να σας βοηθήσει και μη διστάσετε να με βοηθήσετε να το βελτιώσω. Δεν είμαι ειδικός και μαθαίνω πολύ αργά. Απλώς σκέφτηκα ότι μερικά πράγματα που έμαθα πώς να κάνω μπορεί να βοηθήσουν κάποιον εκεί έξω που αγωνίζεται να το καταλάβει.
Τώρα για να αλλάξετε τις ώρες στο βοηθό σπιτιού με βάση την ανατολή και τη δύση του ηλίου…+ - μερικές
Συνιστάται:
Φωτισμός αφύπνισης: 7 βήματα (με εικόνες)
Φως αφύπνισης: Καθώς γράφω αυτό το διδακτικό είναι μέσα χειμώνα στο βόρειο ημισφαίριο και αυτό σημαίνει σύντομες μέρες και μεγάλες νύχτες. Έχω συνηθίσει να σηκώνομαι στις 06:00 και το καλοκαίρι ο ήλιος θα λάμπει μέχρι τότε. Το χειμώνα όμως, φωτίζεται στις 09:00 αν
Φωτισμός ρολογιού οθόνης μήτρας ελεγχόμενης λωρίδας LED: 3 βήματα (με εικόνες)
Φωτισμός ρολογιού οθόνης μήτρας ελεγχόμενης λωρίδας LED: Προγραμματιζόμενες λωρίδες LED, π.χ. βασίζονται στο WS2812, είναι συναρπαστικά. Οι εφαρμογές είναι πολλαπλές και μπορείτε γρήγορα να έχετε εντυπωσιακά αποτελέσματα. Και κατά κάποιο τρόπο η δημιουργία ρολογιών φαίνεται να είναι ένας άλλος τομέας που σκέφτομαι πολύ. Ξεκινώντας με κάποια εμπειρία στο
Smart Desk LED Light - Έξυπνος φωτισμός W/ Arduino - Χώρος εργασίας Neopixels: 10 βήματα (με εικόνες)
Smart Desk LED Light | Έξυπνος φωτισμός W/ Arduino | Neopixels Workspace: Τώρα μια μέρα περνάμε πολύ χρόνο στο σπίτι, μελετάμε και δουλεύουμε εικονικά, οπότε γιατί να μην κάνουμε τον χώρο εργασίας μας μεγαλύτερο με ένα προσαρμοσμένο και έξυπνο σύστημα φωτισμού Arduino και Ws2812b LEDs. Εδώ σας δείχνω πώς να φτιάξετε το Smart σας Φωτιστικό γραφείου LED που
Φωτισμός LED με μπαταρία με ηλιακή φόρτιση: 11 βήματα (με εικόνες)
Φωτισμός LED με μπαταρία με ηλιακή φόρτιση: Η γυναίκα μου διδάσκει στους ανθρώπους πώς να φτιάχνουν σαπούνι, τα περισσότερα μαθήματα της ήταν το βράδυ και εδώ το χειμώνα σκοτεινιάζει γύρω στις 4:30 το απόγευμα, μερικοί μαθητές της δυσκολεύονταν να βρουν το δικό μας σπίτι. Είχαμε μια ταμπέλα μπροστά, αλλά ακόμη και με μια λιγούρα δρόμου
Φωτισμός και φωτισμός ενός LED με Arduino: 7 βήματα (με εικόνες)
Φωτισμός και φωτισμός ενός LED με Arduino: Πριν ξεκινήσετε την κατασκευή, πρέπει να πάρετε τα σωστά υλικά: 1 Arduino Board - Χρησιμοποίησα ένα knockoff ενός Arduino Uno, αλλά λειτουργεί με τον ίδιο τρόπο. 1 Ποτενσιόμετρο - το δικό μου φαίνεται διαφορετικό από τα περισσότερα, αλλά λειτουργούν επίσης με τον ίδιο τρόπο. 1 Breadboard Λίγα