Can I use a single device to control other devices in the Home Graph? - google-home

I would like to build a Smart Home device that can be setup to control other devices in the Home Graph. What's the cleanest way to do this?
For instance, if a press on an Amazon Dash Button created a data flow:
Dash Button sends MQTT -> Server IoT Receives --> Forwarded to Google Cloud --> "Turns on TV, Turns on Lights".
I understand / assume that I cannot directly control 3rd party devices using my own hardware.
Is it possible to control devices through Google Home using the Google Assistant SDK... But I'm a little confused how my custom Amazon button (or any hardware) would fit into the larger picture. If it calls the Google Assistant SDK, it's not a Smart Home Device anymore, is it -- Not part of the Home Graph?

There is no API for you to directly control other Home Graph devices from your Home Graph device.

Related

How to add a custom device into google Home

I've created a smart device with esp32 using adafruit IO and integrated it with google assistant using IFTTT. This way I can control the device using custom voice controls from google assistant or access the adafruit IO panel and toggle the device.
The problem is that I can't find a way to add this device into the google home app, to control it alongside my other smart switch.
Apparently, there is a google home SDK, but I'm not sure how I could integrate my esp32 to it.
You'll want to use Google's smart home platform and build a cloud integration. You may be able to follow Google's codelabs to get started or check out one of the existing code samples.

How do I force my Google home to download latest version of the local app

I'm developing the smart device handler using Google Home Local SDK.
How do I force device to reload and restart the app? (now I have to unplug the power cord, it does not looks good as it sparks)
also I have a couple of Google Home devices, how do I tell which of them should execute requests, is it possible to pin 'master' device?
I'm developing the smart device handler using Google Home Local SDK. How do I force device to reload and restart the app? (now I have to unplug the power cord, it does not looks good as it sparks)
Currently (during developer preview) you have to reboot the Home device to reload your local app. In an upcoming release, you will be able to refresh your app inside of Chrome DevTools but there is currently a known issue preventing this.
While unplugging your device may be the fastest way to reboot it, you can also reboot your device from within the Google Home app. Select the device, choose Settings, and you'll find Reboot in the overflow menu in the app toolbar.
I have a couple of Google Home devices, how do I tell which of them should execute requests, is it possible to pin 'master' device?
Local execution currently relies on the Home Graph to determine whether to send a command locally. If the Home device and end device are configured in the same structure (and the device can be locally identified), then EXECUTE will be sent locally.

Get income call event via Bluetooth

I have a phone and a simple site providing a list of numbers and names.
Is it possible to pair my phone with browsers via Bluetooth and pass an incoming number to the site in order to show the name of the caller? If the number isn't listed you have to fill it. So, I want to type using the Desktop browser and receive a call using a phone.
I'm using a web platform to store my client base. I tend to keep it on the web without coding Desktop API.
Typically, when you have something like a Bluetooth headset, the headset is a peripheral.
central -> peripheral
-----------------------
headset model | phone -> headset
desktop model (A) | phone -> browser
desktop model (B) | browser -> phone
(A) is currently impossible with Web Bluetooth because, as of now, Web Bluetooth only supports using the web browser as a central, not a peripheral.
(B) may be possible, but it really depends on the mobile OS. You would have to introduce special app to replace or augment the phone app on the mobile device so that it would act as a peripheral.

square point of sale/connect api - 2 devices?

I work for a repair shop that recently decided to implement a square chip/card reader. Up to this point, we have been manually entering credit card numbers into our internal silverlight app running on a pc on our domain.
We ordered the square point of sale system that includes chip reader, ipad, stand, the whole bundle.
We looked at the square pos api, which targets iOS and Android platforms, but also has a Web api for non-native apps. The api is supposed to be able to switch control from our browser based app to the square app to allow a customer to swipe their card, and upon completion, the api switches control back to our app.
Since the system is based on web api calls, we envisioned initiating the sale from our app running on our pc by calling the api, and control would be passed to the square app on the ipad.
However, when we contacted square about this system, we were advised that our app and the square app had to be running on the same device (the ipad in this case).
But it's a web api. Geographical separation shouldn't matter.
Has anyone implemented a similar architecture with a square device? Or does anyone have a potential workaround?
The web request must be initiated from the same device because it uses native App linking/ Intents to switch between the browser and the Square Point of Sale app. You can not currently initiate a transaction on a different device. The "web" in "web API" means that you are starting from a website (as opposed to a native application), not in that the request goes over the web.

one device controlling a number of devices actions

I am making an app in which the administrator controls other devices in the same wi-fi network and controls the actions like viewing a document by the others,which, is the same as what the administrator is viewing....i need the code for this using zero-configuration networking
The Developer Docs on the palm developer center are very good. This is the service you probably need to read up on and understand...
https://developer.palm.com/content/api/reference/services/zeroconf.html

Resources