This software is currently cosidered Beta test quality. Use at your own risk.
Setup of this adapter requires some technical knowledge. If you are looking for a way to connect an ioBroker instance with Google Assistant consider the ioBroker.iot adapter. Pros & cons of each are briefly discussed below.
This adapter implements a Google Smart Home Actions fulfillment server running within an ioBroker installation. It creates devices in the Google ecosystem to mirror devices within the ioBroker object tree. These can be controller from any Google Assistant device, smartphone running the Google Assistant app, etc.
Benefits of this adapter over ioBroker.iot include:
Disadvantages:
Feel free to submit a feature request issue for with plugin requests.
For correct integration with Google Assistant a project is required.
Visit the Actions on Google Console and create a new project. This is going to be a test project and will never be published so the name isn't really important. For example purposes below we assume My ioBroker
is used.
The following configuration settings are necessary in the 'Develop' tab:
Actions
https://example.com/fulfillment
where 'example.com' is actually the public FQDN of the ioBroker instance (and must match the setting configured in ioBroker below).Account linking
https://example.com/oidc/auth
(replacing 'example.com' with the correct public FQDN).https://example.com/oidc/token
(replacing 'example.com' with the correct public FQDN).Fulfillment
here.Moving on to the 'Test' tab:
The fulfilment server runs as a web adapter extension. Ie. you must have an instance of the web adapter already running and responding to HTTPS requests from the public internet for it to function. The easiest way to do this is:
443
, and it is often preferable not to use that due to O/S restrictions on privileged ports. The author suggests using port 8443
and using port forwarding on a firewall to direct requests on public port 443
to this.8080
is suggested) and be sure this is visible as port 80
from the public internet using firewall forwarding.Once a suitable web adapter is running, install the fulfilment adapter in the usual way then visit the settings page:
443
on this public FQDN (or IP address) must be received by the web adapter (configured above). If a fixed IP address or name is available that should be used, otherwise it could be possible to use a dynamic DNS resolution service and place the configured public name here.Once all the above installation and configuration steps are complete it's time to link ioBroker with Google Home. Follow these steps in Google Home App:
My ioBroker
in this list it will be shown as [test] My ioBroker
.At this point a list of devices know to the fulfillment adater should be shown. If you are satisfied with the room placement just hit 'done'.
If you made it this far, well done! ;) Enjoy :)
Say the configured public FQDN is example.com
. Verify external connectivity and certificates by visiting https://example.com/
. This should yield a 404 response with a single line reading, Cannot GET /
- that is expected behaviour. There should be no certificate errors (click the padlock in the brower URL bar to verify).
https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview
MIT License
Copyright (c) 2020 Robin Rainton robin@rainton.com
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.