Το Google Home διαθέτει ένα μη τεκμηριωμένο τοπικό API στο οποίο μπορείτε πλέον να έχετε πρόσβαση

Το Google Home, η σειρά έξυπνων οικιακών ηχείων της Google, δεν διαθέτει κατάλληλο API. Ωστόσο, ένας ατρόμητος προγραμματιστής στο Reddit συγκέντρωσε ανεπίσημη τεκμηρίωση, μυρίζοντας την κυκλοφορία του τοπικού δικτύου.

Google Home, η αυξανόμενη σειρά ηχείων της Google με τεχνητή νοημοσύνη, προσφέρει πληθώρα δυνατοτήτων για έξυπνους χομπίστες στο σπίτι. Το πρόβλημα είναι ότι είναι κλειδωμένο αρκετά σφιχτά. Όταν πρόκειται για πρόσβαση σε δεδομένα συναγερμών, ρυθμίσεις, λειτουργίες Bluetooth και άλλες πληροφορίες στη συσκευή, έχετε δύο επιλογές: Ελέγξτε τη συνοδευτική εφαρμογή Google Home στο smartphone ή/και το tablet σας ή φωνάζοντας α εντολή. Προς το παρόν, το Google Home δεν διαθέτει κατάλληλο API.

Αυτό δεν έχει σταματήσει έναν ατρόμητο προγραμματιστή στο Google Home subreddit από το να συνενώσει τον εαυτό του. Redditor rithvikvibhu μύρισε με κόπο την κίνηση μιας συσκευής Google Home και κατέγραψε κάθε αίτημα δικτύου, συγκεντρώνοντας τα αποτελέσματα σε ένα εξαιρετικό cheat sheet στο Github. Μέχρι στιγμής, έχει καταφέρει να αναγνωρίσει τοπικές εντολές GET και POST για ρυθμίσεις ισοσταθμιστή, επιλογές συσκευής, νυχτερινή λειτουργία και πολλά άλλα, επιπλέον αιτήματα συνδεσιμότητας που επιστρέφουν τη διαμόρφωση Wi-Fi ενός συγκεκριμένου ηχείου, την υποστηριζόμενη λίστα με τις ζώνες ώρας και τις τοπικές ρυθμίσεις και τα ονόματα των συνδεδεμένων Συσκευές Bluetooth.

Είναι μια σχετικά απλή διαδικασία. Αφού προσδιορίσετε τη διεύθυνση IP του ηχείου Google Home χρησιμοποιώντας μια εφαρμογή όπως Ρίψιμο, μπορείτε να πραγματοποιήσετε κλήσεις GET και POST προσθέτοντας τη διεύθυνση με URI στην τεκμηρίωση του τοπικού API του Google Home.

Αυτό το URI, για παράδειγμα, παίρνει μια λίστα με τοπικούς συναγερμούς και χρονοδιακόπτες σε ένα ηχείο Google Home:

/setup/assistant/alarms

Ακολουθεί η κλήση GET (τα σημάδια "X" είναι σύμβολα κράτησης θέσης):

http://192.168.x.x: 8008/setup/assistant/alarms

Η πλοήγηση σε αυτήν τη διεύθυνση σε οποιαδήποτε συσκευή που είναι συνδεδεμένη στο ίδιο δίκτυο με το Google Home θα επιστρέψει μια απάντηση JSON με το ημέρα, μήνα, έτος και ώρα έχει προγραμματιστεί να ηχήσει ο συναγερμός:

Πηγή: Google Home Local API

Αυτό το σχετικό URI επιστρέφει το ένταση συναγερμού και χρονοδιακόπτη σε ένα ηχείο Google Home:

/setup/assistant/alarms/volume

Η κλήση POST επιστρέφει το επίπεδο έντασης σε δεκαδική μορφή:

0.8199999928474426

Εάν νιώθετε γενναίοι, αυτό το URI επανεκκινήσεις μια συσκευή Google Home:

/setup/reboot

Η ανεπίσημη τεκμηρίωση για το τοπικό API του Google Home είναι διαθέσιμη στο rithvikvibhu's Αποθετήριο Github, μαζί με τον κωδικό που απαιτείται για τη χρήση του. Λάβετε υπόψη, ωστόσο, ότι δεν είναι σε καμία περίπτωση επίσημο -- μην περιμένετε από τα API να συμπεριφέρονται προβλέψιμα.


Πηγή: Google Home Local APIΠηγή 2: /r/GoogleHome