Alternative self-hosted Google Home integration

If anyone is interested in more flexible Google Home integration I’ve created a self hosted solution for that

Documentation of supported traits: https://github.com/gytisgreitai/openhab-google-home/blob/master/README.md

And running instructions https://github.com/gytisgreitai/openhab-google-home/blob/master/docs/standalone.md

For this to work you either have to have public IP address, or host your own myopenhab instance.

5 Likes

Is this just for the testing phase, or is this also for the final design of the binding in the future?

I would like to try this out, but I already have nginx set up with my own domain and certificate, so I don’t need all of that. How would I go about installing just the service part?

This has and will have nothing to do with official binding. Just my fork.

See Option 3: Run app only without nginx in the standalone docs https://github.com/gytisgreitai/openhab-google-home/blob/master/docs/standalone.md . You just basically run docker with the app itself which runs on 3000 port (you can override it with PORT env variable

1 Like

Ok, understood. But still, this might develop over time and night become superior to the existing official binding in terms of functionality. In that case, it would be of great benefit for the community, and people would surely be in favor of this to be connected to cloud services rather than self-hosting.

Would that be possible, or does your approach generally not allow to go in this direction in the future?

I was not thinking of going that way. And you’d have to get verification from google so that it would be accessible for all from Google Home app, and this would also mean hosting it somewhere. It short - no such plans for the foreseeable future. Right now I have two things where I would like to focus - pushing updates from openhab to google via HomeGraph API and Local Execution.

I understand.
But would the design (!) of the binding generally (!) allow for an official integration with Google?

I am not saying you do so, but I ask if this would be technically feasible or require a completely different code.

Gytis
excellent documentation so far, terrific effort!

Technically no, it’s just a matter of google certification.

Thanks :blush:

Thanks @gytisgreitai. Spent some time this afternoon to install this and it worked out of the box. In case anyone else is wondering, it can be used with non-standard ports as well - i.e. you don’t need to have port 443 open on your external firewall/router.

Is this related to https://github.com/michikrug/openhab-google-assistant/tree/metadata ?

This is separate implementation that will be official at some point. You can check official openhab google home github repo for more info, there is a pr there

I’ve set this up, with STANDALONE=true (Option 1).
Looking at the docker logs, letsencrypt certs look good.
Verify setup produces an ok string via https.
Everything looks good after creating actions project and deploying actions project.
I try to set up in Google Home and select the [test] project, and I get redirected, but it just returns to the app. I have clicked it again(numerous times), and it still does not display the devices from OpenHAB.
Could you please help to get this working?

Well there might be couple of issues. Does it say it is linked ? Or does it show this [test] project as available to link? There is a debug endpoint called /am-i-working It should output some information, and app.log. Is there anything in there (if you plan posting logs, do it on pastebin.com and sanitize it - remove access keys and hostname)? nginx log located on docker image /var/log/nginx/access.log might also help.

Thank you for your time and help.
It is not linked. It still shows [test] as available to link.

I’ve posted the app.log at: https://pastebin.com/8wyWSVdL

Access logs: https://pastebin.com/FimjfnfS

I can’t determine whether the app is actually talking to my OpenHAB server. I do not see the server IP for OpenHAB in either of the logs. I have verified that I can ping the server from the docker instance. The OpenHAB server is accessible without authentication.

Ok, have you configured any devices? e.g try adding some dummy one Switch DemoLamp "Demo Lamp" {google="action.devices.types.SWITCH"}

That was it. I didn’t update my devices with the binding configuration: {google=“action.devices.types.SWITCH”}
I’ve added these to the switch devices and voila!
Thank you so much!

Everything works great now.