Making a Bluetooth device tracker using Google speakers

Many people are probably not aware that Google columns have their own local API . I'm not talking about the Chromecast protocol, which is undeniably good. I'm talking about an API that allows you to customize Google columns using the Google Home mobile app.





The first information about this protocol appeared in January 2018. The API could be freely used within the local network.



In January 2019, Google released an update that added mandatory authentication. To execute commands, a local token was required - just like in Yandex columns . The community found a solution in the form of launching a virtual machine with rooted Android, and then extracting the token from the Google Home application via adb. The complexity of this approach has led many to abandon this API.



And just recently, the author of the unofficial documentation of the local API suggested a more civilized way to get a local token - using the login and password from a Google account.



master- Google. Android- Google, gpsoauth (Google Play Services OAuth). Google . . .



, , access-. , gRPCurl proto, Home Graph.



Home Graph : Google, , , . Home Graph .



, Google. 130 , “” ...



Home Graph

AC_HEATING: Air conditioner and heating unit

AC_UNIT: Air conditioner

AIRCOOLER: Air cooler

AIRFRESHENER: Air freshener

AIRPURIFIER: Air purifier

ALARM: Alarm

AUDIO_VIDEO_RECEIVER: AVR

AUTO: Automobile

AWNING: Awning

BAG: Bag

BATHTUB: Bathtub

BATTERY: Battery

BED: Bed

BIKE: Bike

BLENDER: Blender

BLINDS: Blinds

BOILER: Boiler

BUTTON: Button

CAMERA: Camera

CARBON_MONOXIDE_DETECTOR: Carbon monoxide detector

CAT: Cat

CHARGER: Charger

CHROMECAST: Chromecast

CLOCK: Clock

CLOCKRADIO: Clock radio

CLOSET: Closet

CLOTHING: Clothing

COFFEE_MAKER: Coffee maker

COMPUTER: Computer

COOKTOP: Cooktop

CURTAIN: Curtain

DEHUMIDIFIER: Dehumidifier

DEHYDRATOR: Dehydrator

DISHWASHER: Dishwasher

DISPLAY: Display

DOG: Dog

DOOR: Door

DOORBELL: Doorbell

DRAWER: Drawer

DRYER: Dryer

ELEVATOR: Elevator

FAN: Fan

FAUCET: Faucet

FILTER: Filter

FIREPLACE: Fireplace

FREEZER: Freezer

FRYER: Fryer

GAME_CONSOLE: Game console

GARAGE: Garage

GARDEN: Garden

GATE: Gate

GOOGLE_HOME: Speaker

GRILL: Grill

HEADPHONES: Headphones

HEATER: Heater

HOOD: Range hood

HUMIDIFIER: Humidifier

IDBADGE: ID badge

INTERCOM: Intercom

KETTLE: Kettle

KEYS: Keys

LAPTOP: Laptop

LIGHT: Light

LOCATORTAG: Locator tag

LOCK: Lock

MAILBOX: Mailbox

MATTRESS: Mattress

MICROPHONE: Microphone

MICROWAVE: Microwave

MIXER: Mixer

MOP: Mop

MOWER: Mower

MULTICOOKER: Multicooker

NETWORK: Network

NOTEBOOK: Notebook

OUTLET: Outlet

OVEN: Oven

PASSPORT: Passport

PERGOLA: Pergola

PETFEEDER: Pet feeder

PHONE: Phone

PICTURE: Picture frame

PRESSURECOOKER: Pressure cooker

RADIATOR: Radiator

REFRIGERATOR: Refrigerator

REMOTECONTROL: Remote control

ROBOT: Robot

ROOF: Roof

ROUTER: Router

ROUTINE: Router

SCENE: Scene

SCREEN: Screen

SECURITYSYSTEM: Security system

SENSOR: Sensor

SETTOP: Set-top box

SHOWER: Shower

SHUTTER: Shutter

SMOKE_DETECTOR: Smoke detector

SOUNDBAR: Soundbar

SOUSVIDE: Sous-vide cooker

SPEAKER: Speaker

SPEAKER_GROUP: Speaker group

SPEAKER_PAIR: Speaker pair

SPRINKLER: Sprinkler

STANDMIXER: Stand Mixer

STREAMING_BOX: Streaming Box

STREAMING_SOUNDBAR: Streaming Soundbar

STREAMING_STICK: Streaming Stick

STYLER: Styler

SWITCH: Switch

SYNCBOX: Sync box

TABLET: Tablet

THERMOSTAT: Thermostat

TOILET: Toilet

TOY: TOY

TV: TV

UMBRELLA: Umbrella

VACUUM: Vacuum

VALVE: Valve

VENTILATOR: Ventilator

WALLET: Wallet

WATCH: Watch

WASHER: Washer

WATERHEATER: Water heater

WATERPURIFIER: Water purifier

WATERSOFTENER: Water softener

WEATHERSTATION: Weather station

WINDOW: Window

WINECELLAR: Wine Cellar

YOGURTMAKER: Yogurt maker



API? ( ). “ ”. — Bluetooth.



Bluetooth- MAC- . — .



“ ”. , , . Home Assistant - , API.



If you have several Google columns in your house, you can try to implement the positioning of a person within the apartment.



I have enough projects to do this as well. But I hope someone will use this knowledge and do something cool for themselves, and maybe for the community.




All Articles