Home Assistant (μέρος 6) | Δημιουργούμε αυτοματισμούς και ειδοποιήσεις βάσει της παρουσίας μας στο χώρο
Έχουμε πει στα προηγούμενα άρθρα ότι ένα "έξυπνο" σπίτι, εκτός από τις
πληροφορίες που μας δίνει, πρέπει επίσης να δρα μόνο του κάτω από
συγκεκριμένες συνθήκες, αλλά και να μας ειδοποιεί όταν πρέπει να ενημερωθούμε
για ένα συμβάν. Εφόσον έχουμε δει πλέον πώς λειτουργούν οι
αυτοματισμοί
και οι
ειδοποιήσεις, ήρθε η ώρα να τα "παντρέψουμε" όλα με
μία από τις σημαντικότερες παραμέτρους, η οποία δεν είναι άλλη από την
παρουσία μας στο χώρο.
Με απλά λόγια για να αισθανθούμε οτι το σπίτι μας είναι πραγματικά "έξυπνο",
πρέπει να μας δίνει την εντύπωση οτι σκέφτεται μόνο του και αντιδρά
όταν κάτι συμβαίνει, ιδίως όταν ερχόμαστε ή φεύγουμε από το χώρο μας! Είναι
πολύ ωραίο για παράδειγμα να σε υποδέχεται το σπίτι σου ανάβοντας τα φώτα
όποτε μπαίνεις μέσα. Να το κάνει όμως μόνο για σένα! Να σε ειδοποιεί
όταν έχεις φύγει και έχεις ξεχάσει το συναγερμό ή να σε ενημερώνει αν ο
συγκάτοικός σου είναι αυτή τη στιγμή στο χώρο ή αν έχει φύγει και αυτός. Όλα
αυτά μπορούν να γίνουν κάνοντας tracking στους χρήστες του Home Assistant και
υπάρχουν διάφοροι τρόποι για να το επιτύχουμε.
Tracking από την Android εφαρμογή
Ο πρώτος τρόπος είναι μέσω της Android εφαρμογής, την οποία πιθανότατα
θα χρησιμοποιούν όλοι οι χρήστες της υπηρεσίας. Ανοίγουμε λοιπόν το πλαϊνό
μενού και επιλέγουμε "Διαμόρφωση εφαρμογής". Στη συνέχεια θα μπούμε στο
μενού "Manage Sensors" όπου θα δούμε όλους τους αισθητήρες που μπορεί
να προσφέρει η Android συσκευή μας στο Home Assistant! Εκεί θα βρούμε άπειρα
πράγματα τα οποία μπορούμε να χρησιμοποιήσουμε, αλλά στην προκειμένη περίπτωση
μας ενδιαφέρουν τα "Location Sensors" τα οποία πρέπει να
ενεργοποιήσουμε.
Πηγαίνοντας τώρα στο μενού "Ρυθμίσεις > Ενσωματώσεις" θα δούμε το
"Mobile App" με τις συσκευές που έχουμε σετάρει. Επιλέγοντας μία από
αυτές και πατώντας "entitities" ("Μητρώο οντοτήτων") θα δούμε όλους
τους αισθητήρες που είναι πλέον διαθέσιμοι στο Home Assistant.
Διαφήμιση
Tracking μέσω nmap
Ο δεύτερος τρόπος για να κάνουμε track τους χρήστες μας είναι μέσω του
nmap,
ενός εργαλείου του Linux το οποίο σκανάρει το δίκτυο και μας ενημερώνει για
τις συσκευές που έχουν συνδεθεί σε αυτό. Η λογική αυτής της μεθόδου είναι ότι
μπαίνοντας στο σπίτι, το κινητό μας θα συνδεθεί στο Wi-Fi, οπότε το Home
Assistant θα μας εμφανίσει ότι είμαστε στο σπίτι. Αντίστοιχα όταν φύγουμε από
το σπίτι, θα αποσυνδεθεί από το Wi-Fi και θα μας δείξει εκτός.
Για να ενσωματώσουμε λοιπόν το nmap στο Home Assistant, θα πρέπει να ανοίξουμε
τον "File editor", να επιλέξουμε το αρχείο
"configuration.yaml" και να προσθέσουμε την IP του δικτύου μας (π.χ.
192.168.1.0) ως εξής:
# Nmap trackerdevice_tracker:- platform: nmap_trackerhosts: 192.168.1.0/24
Αν κάνουμε επανεκκίνηση θα δούμε ότι πλέον εμφανίζονται όλες οι συσκευές του
δικτύου μας στο "Μητρώο Οντοτήτων". Με αυτό τον τρόπο μπορούμε επίσης
να βλέπουμε αν κάποια συσκευή μας δε συνδέεται στο δίκτυο (π.χ. ένας οικιακός
server). Αν δε θέλουμε τέλος να εμφανίζονται κάποιες συγκεκριμένες συσκευές,
μπορούμε να τις αποκλείσουμε προσθέτοντας το δείκτη "exclude", ενώ
μπορούμε να ρυθμίσουμε και ανά πόσα δευτερόλεπτα θέλουμε να τρέχει το nmap.
Για παράδειγμα:
# Nmap trackerdevice_tracker:- platform: nmap_trackerhosts: 192.168.1.0/24home_interval: 10exclude:- 192.168.1.12- 192.168.1.13
Σημείωση:
Θα χρησιμοποιήσουμε ταυτόχρονα και τους δύο tracker, γιατί έχουν
ξεχωριστές δυνατότητες. Για παράδειγμα το nmap είναι πολύ γρήγορο, οπότε
είναι χρήσιμο σε ειδοποιήσεις, ενώ η εφαρμογή του Android μας δίνει πολλά
και διαφορετικά δεδομένα για το χρήστη, τα οποία θα χρειαστούμε! Υπάρχουν
επίσης ενσωματώσεις για tracking μέσω
router, μέσω Bluetooth ή μέσω εφαρμογών όπως το
ownTracks, αλλά δε θα τις δούμε σήμερα.
Διαφήμιση
Ρύθμιση ειδοποιήσεων και αυτοματισμών με βάση την παρουσία μας
Τώρα που έχουμε σετάρει τους δύο tracker, θα δημιουργήσουμε μερικά σενάρια για
να τους αξιοποιήσουμε. Σε κάθε μία από τις περιπτώσεις θα ζητάμε από το Home
Assistant
να τσεκάρει την κατάσταση ενός tracker για να εκτελέσει στη συνέχεια τον
αυτοματισμό που θα ορίσουμε.
Μία χρήσιμη πρακτική είναι να ομαδοποιήσουμε πολλούς tracker κάτω από
ένα πρόσωπο για να τους τσεκάρει όλους μαζί! Για να το κάνουμε αυτό θα πάμε
"Ρυθμίσεις > Άτομα" και θα δημιουργήσουμε τα πρόσωπα που θέλουμε να
παρακολουθούμε. Απαραίτητο είναι να προσθέσουμε τις συσκευές τους και πιο
συγκεκριμένα τους tracker που μας δίνει το nmap και η Android εφαρμογή για τον
καθένα. Τα πρόσωπα αυτά στο μητρώο οντοτήτων του Home Assistant προβάλλονται
ως "person". Για παράδειγμα την ομαδοποίηση των συσκευών του χρήστη "Chris" θα
τη βρούμε ως "person.chris".
Ας πούμε για παράδειγμα ότι θέλουμε να μας έρχεται
μία ειδοποίηση μόλις ο "Chris" μπει στο σπίτι.
Θα πάμε στο μενού "Ρυθμίσεις > Αυτοματισμοί" και θα προσθέσουμε έναν
νέο αυτοματισμό. Στα "Εναύσματα" θα ρυθμίσουμε να τσεκάρει αν ο nmap
tracker που αντιστοιχεί στον "Chris" έχει μπει σε κατάσταση "home".
Αυτό θα συμβεί μόλις το κινητό του "Chris" συνδεθεί στο Wi-Fi. Στις
"Ενέργειες" θα κάνουμε ένα κάλεσμα στην υπηρεσία "notify" και θα
γράψουμε το μήνυμα που θέλουμε να λάβουμε όταν ο "Chris" μπει στο σπίτι.
Σε ένα δεύτερο παράδειγμα ας πούμε ότι
ο "Chris" θέλει να τον υποδέχεται το σπίτι με αναμμένα φώτα, μόλις
επιστρέψει από τη δουλειά του. Σε αυτή την περίπτωση δε θα χρησιμοποιήσουμε
τον nmap tracker, γιατί θέλουμε το σπίτι να είναι φωτισμένο πριν μπούμε σε
αυτό. Θα πάμε λοιπόν "Ρυθμίσεις > Zones" και θα φτιάξουμε μία ζώνη
την οποία θα ονομάσουμε "Σπίτι".
Τώρα θα πάμε "Ρυθμίσεις > Αυτοματισμοί" και θα δημιουργήσουμε έναν
νέο αυτοματισμό. Στα "Εναύσματα" θα επιλέξουμε "Είσοδο" στη ζώνη
που δημιουργήσαμε και τον tracker του κινητού μας τηλεφώνου. Στις "Ενέργειες" θα καλέσουμε την υπηρεσία "light.turn_on" και
θα επιλέξουμε τα φώτα που θέλουμε να ανάψουν. Με αυτό τον τρόπο όταν ο "Chris" φτάσει έξω από το σπίτι του,
το Home Assistant θα του έχει έτοιμη μία "ζεστή" υποδοχή με "φωταψίες".
Εν κατακλείδι
Οι αυτοματισμοί βάσει παρουσίας είναι απίστευτα βολικοί και μπορούν να
γίνουν ιδιαίτερα προσωποποιημένοι για όλα τα μέλη της οικογενείας. Για
παράδειγμα ο "Chris" μπορεί αν θέλει πριν φτάσει στο σπίτι να τον περιμένει
επίσης το PlayStation ανοιχτό, ενώ η "Kallis" που της αρέσει ο απογευματινός
καφές, να βρίσκει την καφετιέρα έτοιμη! Σε αντίθεση με τους αυτοματισμούς που
βασίζονται στην ώρα, οι συγκεκριμένοι δεν εκτελούνται όταν λείπουμε από το
χώρο και έτσι κάνουμε οικονομία.
Μπορούμε επίσης να δημιουργήσουμε
και άλλες ζώνες όπως "Δουλειά", "Σχολείο" ή "Γυμναστήριο" και να
φτιάξουμε ειδοποιήσεις που θα στέλνονται στα μέλη της οικογενείας, όταν
κάποιος μπαίνει ή βγαίνει από αυτές. Για παράδειγμα όταν η "Kallis" φεύγει από
τη δουλειά, μπορεί ο "Chris" να λαμβάνει την αντίστοιχη ειδοποίηση για να
ετοιμάσει το φαγητό.
Σχόλια
Δημοσίευση σχολίου
Πες την άποψή σου ή κάνε την ερώτησή σου ελεύθερα, ακολουθώντας όμως τους στοιχειώδεις κανόνες ευγένειας.