Hi, Habr.
The concept of "smart home" and its use from a separate screen has long seemed interesting to me. One time I started a project with OpenHAB and Raspberry Pi - a very advanced thing, but I quickly got tired of the need to set up a bunch of configs. And accidentally seeing the Google Nest Hub on sale (previously called Google Home Hub), I decided that this is exactly what is needed - all in one device from Google, configured via touch-screen and with the possibility of voice control.

')
Now it will be possible to have a single "control center" smart home, I thought when buying.
In short, I lost my mind. But still see how it works.
What can Google Nest Hub
About the possibilities of "smart speakers" from Google have heard, probably, already all. So, Google Nest Hub is, in principle, an attempt to combine everything that exists before, into one device: Google Smart Speaker (the ability to give voice commands and receive answers) + Google Chromecast (the ability to play content from a smartphone) and finally, an attempt (IMHO is enough poorly implemented) control of smart home devices.
So, what we get out of the box, buying Google Nest Hub:
- A “smart speaker” capable of playing music or understanding phrases like “hey google,” The answer is displayed not only by voice, but also shown on the screen. It works, the sensitivity is good, although there is an unpleasant "cant" in usability - there is no sound confirmation of the phrase "ok google", and if we are standing on the side and the display is not visible, then it is unclear whether the column was activated or not (edit - as suggested in comments, you can change this in the settings). By the way, for paranoids on the back there is a button for physically disabling the microphone. Cameras in the device by the way, not at all.
- A “smart screen” on which you can play, for example, a video from Youtube or music from Spotify. It's all as in the good old Chromecast - you can open the video on your smartphone and select cast to device - playback will continue on the device. But if the output of the video on a big screen TV is logical and understandable, then the output of the video to 7 "display looks slightly strange. Well, in principle, turn on the music or audiobooks in the kitchen in the background will come down. news from the BBC.
By the way, compatibility with Chromecast is quite an interesting point - to manage the device, you can use ready-made libraries, for example PyChromecast .
- An online photo frame that automatically displays photos from Google Photos. The quality of the image and the screen is quite good, there are no complaints. The Google Nest Hub has an ambient light sensor, so at night the photo frame can either turn off or switch to night mode.
- The ability to control the “smart home” is actually the purpose for which, by design, this device was created. And then everything becomes sad.
Smart home in the understanding of Google
It is clear that Google devices have evolved from “smart speakers”, so that, as marketers intend, the user will be extremely happy, saying phrases like “hey google, switch on the light in the bedroom”. In my opinion it is easier to press the switch, but oh well, marketers know better. But we have the same device with a screen, and everything should be much better.
In my "naive" understanding, the hub for managing a smart home should look something like this:

In the understanding of Google’s marketers, the device’s screen looks like this:

Or so:

And it's all. Display options on the main screen, in fact, only two. This is either a photo frame or a full-screen clock. In the first case, the current weather is displayed in the lower corner of the screen. In the case of hours, even the weather can not be removed. Everything, nothing else is stupid. Widgets, custom interface elements? No, not heard. Even if I buy Netatmo's “smart weather station” for $ 200-300, I cannot show the temperature in the room on this screen (you can say “show me the weather”, and the weather will be displayed, but you cannot always have it on the screen as a widget ). Actually, nothing can be configured on this screen at all.
What about managing your smart home? If you make a swipe from top to bottom, then you can still control devices in the menu. According to Google marketers, this is probably convenient:

But in general, according to the original idea, everything should probably be controlled by voice. There are interesting features in Google Home, for example, integration with a doorbell with an IP camera (the view from the camera will be displayed on the screen when you call) or with the Nest thermostat, but somehow the customizability of all this leaves much to be desired. The whole ecosystem is clearly designed for “blondes” - it’s just impossible to customize anything for yourself with the word “in general”. Although in fairness, the list of devices supported in Google Home is quite large, and if we restrict ourselves to voice control, then it will, in principle, work well.
Speaking of power consumption. Google Nest Hub consumes about 2.5W from the mains, which, in principle, not so much, keep the device turned on no problem. Screenshot with wattmeter on the photo.

API
The next thing that was interesting to know is the presence of any API for connecting their devices. Alas, nothing simple was found. The list of supported devices in Google Home is great, but I didn’t manage to add some device or API. Maybe me
Looking bad, if anyone knows, write in the comments.
Of course, there are workarounds, for example, to flash the LED through the voice command of Google Home, you need to do the following:
- Sign up for the IFTTT online service and add the Google Assistant there.
- raise your server (it should be visible from the outside) and, as a trigger on IFTTT, specify the Webhooks and server parameters.
- in your server add the handler of the desired API, and turn on / off our LED there.
In general, the anecdote about how many programmers and software services need to be used to light a light bulb, alas, became a reality, but once it seemed ridiculous. If anyone wants to repeat the experience with a light bulb on their own, instructions can be found here:
https://www.instructables.com/id/Google-Home-Raspberry-Pi-Power-Strip/ . But in my opinion this is a completely gigantic and meaningless overhead - why in the settings of Google Home you cannot immediately specify a local server for your teams, it is not clear. Perhaps there is a workaround if you can emulate one of the devices already supported in Google Home on your device. If anyone tried, write in the comments.
By the way, it is interesting that Google Hub is visible on the network, and some parameters can be viewed directly in the browser, for example, the parameters of the device are visible at
http://192.168.1.102:8008/ssdp/device-desc.xml . You can read more
here or
here , although it is of purely theoretical interest, there are no useful commands there. SSH access, custom firmware or official API? No, Google did not hear about this.
Another possibility, although quite limited, is to use the
PyChromecast library already mentioned above. You can use it to display your own images, sounds or videos on Google Nest Hub.
Conclusion
After getting acquainted with all the functions, the first thought was to return this miracle of Google technicians to the store - voice control is not very relevant to me, and everything else practically does not work as I would like. But then I decided that let him stand on the table, the photo frame works well, and some voice commands like “set the timer for 10 minutes” also sometimes come in handy, for example, to cook a sausage. The device can also answer simple questions, such as "What is the chance of the rain today?", Which is convenient before going out. In general, as an improved version of a wireless speaker, it is probably not bad. But for the time being, I can’t call it a “hub for a smart home”, although it may improve in the next version.
On the other hand, on the Internet you can find a lot of enthusiastic reviews about Google Home Hub, so for some it is possible and useful. It’s probably like with the Apple ecosystem, there are those who don’t like it, and there are those who are delighted.
And of course, maybe I missed something or missed it. If there are any other ways to use Home Hub, write in the comments.