Πώς να συνδέσετε οποιαδήποτε έξυπνη συσκευή στο HomeKit (με ένα Raspberry Pi)

Πολλές έξυπνες συσκευές παραλείπουν την υποστήριξη Apple HomeKit και ενσωματώνονται μόνο με την Alexa, την Google και άλλες πλατφόρμες. Με αυτό το hack Raspberry Pi, ωστόσο, μπορείτε να προσθέσετε υποστήριξη HomeKit σε οποιαδήποτε έξυπνη συσκευή με το λογισμικό ανοιχτού κώδικα Homebridge.

HomeKit για οποιαδήποτε έξυπνη συσκευή

Εάν χρησιμοποιείτε all-in στο HomeKit, ένα μεγάλο πρόβλημα είναι πόσο λίγες έξυπνες συσκευές το υποστηρίζουν. Για παράδειγμα, το μόνο πράγμα που εμποδίζει ορισμένους φθηνούς έξυπνους λαμπτήρες είναι η έλλειψη υποστήριξης HomeKit. Η επιλογή της Amazon για έναν «έξυπνο λαμπτήρα» είναι α συσκευασία τεσσάρων από την TECKIN, το οποίο, σε αυτή τη συγγραφή, κοστίζει περίπου 40 $—λιγότερο από έναν λαμπτήρα LIFX.

Σίγουρα, δεν είναι τόσο premium όσο το LIFX. τα χρώματα δεν είναι τόσο ζωντανά και εκπέμπουν ένα ηχητικό βουητό στο μπάνιο, αλλά για 10 $ το ποπ, είναι μια αρκετά ασυναγώνιστη αξία.

Το κύριο ζήτημα, όμως, είναι ότι δεν έχουν υποστήριξη HomeKit. Δεν είναι εντελώς χαζοί—λειτουργούν με το Google Home, την Alexa, το IFTTT και την εφαρμογή του κατασκευαστή. Είναι εντάξει για κάποιον που έχει μόνο έξυπνους λαμπτήρες TECKIN.

Ωστόσο, επειδή δεν μπορείτε να έχετε πρόσβαση σε αυτά από το HomeKit, δεν μπορείτε να τα ελέγξετε από την εφαρμογή Home, το γραφικό στοιχείο στο Κέντρο Ελέγχου ή το Siri. Επίσης, δεν μπορείτε να τα συμπεριλάβετε σε σκηνές με λαμπτήρες από άλλες μάρκες ή να τα χρησιμοποιήσετε σε Αυτοματισμούς. Εάν έχετε ήδη επενδύσει στο HomeKit, αυτό είναι πιθανότατα ένα dealbreaker.

Γνωρίστε το Homebridge

Ευτυχώς, υπάρχει ένα hack που κάνει αυτούς τους συγκεκριμένους λαμπτήρες πολύ πιο χρήσιμους. Το HomeKit API επιτρέπει συσκευές που ονομάζονται γέφυρες, όπως π.χ αυτό από τη Philips Hue, για να συνδέσετε θυγατρικές συσκευές που λειτουργούν με άλλα πρωτόκολλα. Απλώς προσθέτετε τη γέφυρα ως συσκευή στο HomeKit και καταγράφει κάθε φως που συνδέεται σε αυτήν στο HomeKit. Κάθε φορά που υποβάλλετε αίτημα ενημέρωσης ενός φωτός, το τηλέφωνό σας μιλά στη γέφυρα και η γέφυρα μιλάει με το φως.

Έτσι, μια γέφυρα απλώς αναμεταδίδει πληροφορίες από το ένα API στο άλλο. Επειδή μπορείτε να ελέγχετε τους λαμπτήρες TECKIN μέσω Διαδικτύου, είναι απολύτως δυνατό να τους συνδέσετε στο HomeKit μόνο με λογισμικό—δεν απαιτείται ιδιόκτητο υλικό.

  Χρησιμοποιήστε μια εναλλακτική λύση iTunes για να συγχρονίσετε επιλεκτικά πολυμέσα στο iPhone σας και να αφαιρέσετε το DRM

Εάν έχετε ένα Raspberry Pi να ξαπλώσετε (5 $ Pi Zero είναι εντάξει), μπορείτε να το ρυθμίσετε ως γέφυρα με ένα πλαίσιο που ονομάζεται Homebridge. Αυτή η ελαφριά εφαρμογή NodeJS μιμείται το HomeKit API και προωθεί αιτήματα στις έξυπνες συσκευές σας που δεν ανήκουν στο HomeKit.

Βασικά, το τρέχετε στο Pi και προσθέτει κάθε «χαζή» συσκευή στην εφαρμογή Home. Όταν προσπαθείτε να ελέγξετε τη λάμπα μέσω της εφαρμογής Home ή του Siri, το Homebridge συνομιλεί με τις συσκευές για εσάς. Αφού το ρυθμίσετε, είναι ακριβώς όπως η συσκευή είχε αρχικά υποστήριξη HomeKit.

Αυτό απαιτεί η συσκευή να εκτελεί το Homebridge ανά πάσα στιγμή, επομένως αυτό δεν είναι κάτι που θα εγκαθιστούσατε στον φορητό υπολογιστή σας. Το Raspberry Pi είναι ιδανικό, αλλά αν έχετε μια παλιά συσκευή που μπορείτε να την επαναχρησιμοποιήσετε ως διακομιστή ή επιτραπέζιο υπολογιστή που λειτουργεί πάντα, μπορείτε να την εγκαταστήσετε εκεί.

Το Homebridge είναι ένα πλαίσιο και μπορείτε να το επεκτείνετε με πρόσθετα. Έχει μια αρκετά μεγάλη υποστήριξη κοινότητας, επομένως υπάρχει μεγάλη πιθανότητα οποιαδήποτε δεδομένη έξυπνη συσκευή έχει πιθανώς μια προσθήκη Homebridge για να προσθέσει υποστήριξη για αυτήν. Εάν η συσκευή σας δεν διαθέτει πρόσθετο, αλλά η έξυπνη συσκευή σας διαθέτει API και είστε γνώστες της τεχνολογίας, μπορείτε να γράψετε ένα μόνοι σας.

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

Εγκατάσταση και διαμόρφωση Homebridge

Το Homebridge είναι μια εφαρμογή NodeJS, επομένως πρέπει να εγκαταστήσετε το node και το npm για να το χρησιμοποιήσετε. Εάν το μηχάνημά σας εκτελεί Linux, πιθανότατα μπορείτε να το λάβετε από τον διαχειριστή πακέτων.

Στο Ubuntu, πρέπει να πληκτρολογήσετε τα ακόλουθα για να ρυθμίσετε το αποθετήριο Node με μη αυτόματο τρόπο και, στη συνέχεια, να εγκαταστήσετε το nodejs:

curl -sL https://deb.nodesource.com/setup_13.x | sudo -E bash -
sudo apt-get install -y nodejs

Διαφορετικά, μπορείτε να συμβουλευτείτε Σελίδα λήψης του κόμβου για πληροφορίες σχετικά με τον τρόπο εγκατάστασης για το συγκεκριμένο λειτουργικό σύστημα.

  Πώς να εγκαταστήσετε το WordPress σε διακομιστή Ubuntu

Εάν χρησιμοποιείτε Linux, πρέπει επίσης να εγκαταστήσετε ορισμένες εξαρτήσεις, όπως φαίνεται παρακάτω:

sudo apt-get install libavahi-compat-libdnssd-dev

Στη συνέχεια, μπορείτε να εγκαταστήσετε το Homebridge παγκοσμίως μέσω npm, όπως φαίνεται παρακάτω:

sudo npm install -g --unsafe-perm homebridge

Θέλετε επίσης να εγκαταστήσετε τα πρόσθετα επωνυμίας που χρειάζεστε, καθώς το Homebridge είναι απλώς ένα πλαίσιο. Για τους λαμπτήρες TECKIN, για παράδειγμα, το plug-in είναι homebridge-tuya-web, το οποίο εγκαθίσταται επίσης παγκοσμίως.

Θα πληκτρολογήσετε τα εξής:

npm i homebridge-tuya-web -g

Αφού εγκατασταθούν όλα, μπορείτε πραγματικά να χρησιμοποιήσετε το πράγμα! Πληκτρολογήστε τα παρακάτω για να εκτελέσετε το Homebridge μία φορά και να αρχικοποιήσετε τα πάντα:

homebridge

Θα παραπονεθεί για έλλειψη διαμόρφωσης, την οποία πρέπει να δημιουργήσετε. Ο προεπιλεγμένος κατάλογος είναι ~/.homebridge/, αλλά μπορείτε να χρησιμοποιήσετε την παράμετρο -U εάν θέλετε να τον μετακινήσετε.

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

nano ~/.homebridge/config.json

Ανεξάρτητα από τα πρόσθετα που χρησιμοποιείτε, χρειάζεστε τις ακόλουθες βασικές ρυθμίσεις:

{
  "bridge": {
    "name": "Homebridge",
    "username": "CC:22:3D:E3:CE:30",
    "port": 51826,
    "pin": "031-45-154"
  },

  "description": "Custom HomeBridge Server",

  "ports": {
    "start": 52100,
    "end": 52150,
  },

  "platforms": [

  ]
}

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

Μέσα στον άδειο πίνακα πλατφορμών, τοποθετείτε τη διαμόρφωση για κάθε πρόσθετο. Θα πρέπει να μπορείτε να βρείτε οδηγίες και παραδείγματα στη σελίδα GitHub κάθε προσθήκης.

Στο παρακάτω παράδειγμα, η προσθήκη homebridge-tuya-web για τους λαμπτήρες TECKIN θέλει να μάθει το όνομα χρήστη και τον κωδικό πρόσβασής μου για να συνδεθεί στο API για την εφαρμογή του λαμπτήρα και μερικά άλλα πράγματα:

  "platforms": [
     {
       "platform": "TuyaWebPlatform",
       "name": "TuyaWebPlatform",
       "options":
         {
           "username": "username",
           "password": "password",
           "countryCode": "1",
           "platform": "smart_life",
           "pollingInterval": 10
         }
     }
   ]

Μόλις ρυθμιστούν όλα αυτά, το Homebridge θα πρέπει να είναι έτοιμο. Εκτελέστε το ξανά και το τερματικό σας θα εμφανίσει έναν τεράστιο κωδικό QR που μπορεί να σας αναγκάσει να κάνετε σμίκρυνση. Σαρώστε το με την εφαρμογή Home για να το προσθέσετε και όλες τις συνδεδεμένες συσκευές στο HomeKit.

Το Homebridge φορτώνει τα πρόσθετά σας και θα πρέπει να καταγράφει ένα μήνυμα στην οθόνη για κάθε συσκευή που βρίσκει. Θα πρέπει να τα δείτε όλα στο HomeKit αφού προστεθούν και θα πρέπει να είναι πλήρως λειτουργικά.

  Total Security 2018 με έκπτωση 61% (Ισχύει 6 Δεκεμβρίου)

Παρατήρησα μια μικρή καθυστέρηση σε σύγκριση με τους λαμπτήρες LIFX μου. Αυτό οφείλεται πιθανώς στο ότι οι λαμπτήρες ελέγχονται μέσω ενός API και όχι απευθείας. Στην αρχή, οι λαμπτήρες επίσης δεν έδειχναν σωστά κάποια λευκά και ζεστά λευκά, αλλά μετά από λίγη προσαρμογή, μπόρεσα να στήσω τις κατάλληλες σκηνές.

Μπορείτε πάντα να διαμορφώσετε τις συσκευές στις δικές τους εφαρμογές, να περιμένετε να ενημερωθεί η εφαρμογή Home και, στη συνέχεια, να ορίσετε τη σκηνή στο HomeKit με την προκατασκευασμένη διαμόρφωση.

Εάν πρέπει να προσθέσετε ξανά το Homebridge, θα θέλετε να διαγράψετε το φάκελο persist/ στον κατάλογο ρυθμίσεων και, στη συνέχεια, να αφαιρέσετε τη γέφυρα από το HomeKit από τις ρυθμίσεις οποιουδήποτε συνδεδεμένου λαμπτήρα στην καρτέλα “Bridge”.

Προσθήκη Homebridge ως υπηρεσία

Εάν θέλετε το Homebridge να λειτουργεί συνεχώς, πιθανότατα θα θέλετε να το ρυθμίσετε ώστε να επανεκκινείται εάν κολλήσει ή εάν το Raspberry Pi σας επανεκκινήσει. Μπορείτε να το κάνετε αυτό μέσω μιας υπηρεσίας Unix. Ρυθμίστε το αφού επαληθεύσετε ότι το Homebridge λειτουργεί όπως προβλέπεται.

Πρώτα, προσθέστε έναν νέο χρήστη υπηρεσίας, που ονομάζεται homebridge:

sudo useradd -M --system homebridge

Ορίστε έναν κωδικό πρόσβασης:

sudo passwd homebridge

Στη συνέχεια, θα πρέπει να μετακινήσετε τη διαμόρφωση homebridge εκτός του προσωπικού σας καταλόγου. Το /var/lib/homebridge/ θα πρέπει να είναι εντάξει:

sudo mv ~/.homebridge /var/lib/homebridge/

Βεβαιωθείτε ότι το άτομο που χρησιμοποιεί το homebridge έχει την κυριότητα αυτού του καταλόγου και όλων των υποφακέλων:

sudo chown -R homebridge /var/lib/homebridge/

Μόλις γίνει αυτό, μπορείτε να δημιουργήσετε την υπηρεσία. Για να το κάνετε αυτό, δημιουργήστε ένα νέο αρχείο που ονομάζεται homebridge.service στο /etc/systemd/system/:

sudo nano /etc/systemd/system/homebridge.service

Και στη συνέχεια επικολλήστε την ακόλουθη διαμόρφωση:

[Unit]
Description=Homebridge service
After=syslog.target network-online.target

[Service]
Type=simple
User=homebridge
ExecStart=/usr/bin/homebridge -U /var/lib/homebridge
Restart=on-failure
RestartSec=10
KillMode=process


[Install]
WantedBy=multi-user.target

Επαναλάβετε τη φόρτωση του δαίμονα υπηρεσιών για να τον ενημερώσετε με τις αλλαγές σας:

sudo systemctl daemon-reload

Τώρα, θα πρέπει να μπορείτε να ενεργοποιήσετε την υπηρεσία σας (ρυθμίζοντας την να εκτελείται κατά την εκκίνηση):

sudo systemctl enable homebridge

Και ξεκινήστε το:

sudo systemctl start homebridge

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

journalctl -fn 50 -u homebridge