Google smarthome plugin

This plugin allows you to :

It can work in 2 ways :

Important

Cloud mode requires a subscription to voice services (3 months offered when purchasing the plugin). You can manage your subscription here

Important

Whatever mode you use, you MUST ABSOLUTELY have your Jeedom accessible in HTTPS (the plugin does not work in HTTP)

Important

The plugin does not support equipment with dual functions (2 output as certain zwave Fibaro module). You absolutely have to go through 2 virtual ones to break it down.

Cloud mode

Important

It is important to do the following steps in the order listed !!!

Important

If you have an error message telling you that your user password or not is not correct you must :

  • check that Google Home is active on the market
  • if this is the case, be sure of your identifiers (attention you must respect upper / lower case) ?
  • if this is the case change your password on the market and on the configuration of the voice assistant service (market profiles page tab my services) have it saved

After installing the plugin, simply go to the configuration of the plugin, select the Cloud mode then click on “Send” (this will send the connection information to the plugin API on the market)

Then in Jeedom in Communication / Google Smarthome you must click on save to send your initial configuration, you need at least one device in OK (otherwise when connecting Google Home <-> Jeedom you will get an error)

Then on the Google home application you have to go to the first tab click on Add (the +) :

gsh

Then configure a device :

gsh

On “Works with Google” :

gsh

Then in the list with the search button (magnifying glass at the top right), search for “Jeedom Smarthome” and click on it :

gsh

Enter your market identifiers (well those market not those of your Jeedom).

gsh

In plugin -> communication -> Google Smarthome you can configure your different equipment (see chapter Configuration of the plugin)

NOTE

To switch from standalone mode to cloud mode you must :

  • in the plugin go to cloud then save
  • wait 24h
  • in the Google home application you must dissociate testsmarthome (your standalone application)
  • in Communication / Google Smarthome click on save to send your initial configuration
  • Link Jeedom Smarthome in Google Home

Important

Any modification to the configuration of the equipment sent to Google Home (addition of equipment, deletion of equipment, change of a generic order type) necessarily requires going to Plugin -> Communication -> Googme Smarthome then save

Standalone mode

Important

Google modifying (very) often the interface we do not have the human resources to redo all the captures each time. There can therefore be big differences between the captures and the reality

Important

If you have used cloud mode you should not do this part !!! Go directly to the chapter “Plugin configuration”

Important

Standalone mode is a “scam” because it makes you create an application at Google in development mode which allows synchronization only for 3 days after activation of test mode. So when adding or modifying equipment, reactivate the test mode every 3 days to be able to synchronize. Attention we are talking about a modification of the configuration if you do not add or modify equipment there is nothing to do the application will work without time limit

Important

Since the application is a dev application on the Google side, they can cut it, delete it or change the rules at any time. In this case Jeedom cannot be held responsible in the event of a malfunction.

Important

For the application (s) to work, it is essential that your jeedom is in https with a valid certificate (if you have a service pack, DNS access is there for that)

As a reminder, the plugin allows you to :

There are therefore 2 applications listed on Google : one for the Google Smarthome part and one for the interaction part (you can of course do only one of the 2)

Google Smarthome app

Come on here then click on “Add / import project”

gsh

Give a name to the project change the default language and region and validate :

gsh

Select “Home control” :

gsh

Click on “Smarthome” :

gsh

Click on “Name your Smart Home action” :

gsh

Put “smarthome test” and validate (Save button at the top right) :

gsh

Then on the left click on “Actions” :

gsh

Then “Add your first action” :

gsh

We will have to give here the url to arrive from Jeedom. To get it it’s very simple, in Jeedom you have to go to the plugin management page, choose the “Standalone” mode (and save in passing), the url is the one called “Fulfillment URL”

gsh

Then go to “Account linking” (left menu) :

gsh

Select “No, I only want to allow account creation on my website” and do “Next” :

gsh

Select “OAuth” then “Authorization code” and do “Next” :

gsh

Then fill in the 4 fields according to the plugin configuration page, then click “Next” :

gsh

NOTE

The fields are :

  • client ID first
  • then the secret client
  • then “Authorization URL” (be careful to take the one from the “Smarthome” section”)
  • then “Token URL” (be careful to take the one from the “Smarthome” section”)

There is nothing to do simply “Next” :

gsh

Write “Toto” then do “Save” :

gsh

Now configure the homegraph API key, for that go here, then right click on “Library” :

gsh

NOTE

If you don’t have a project you need to create one

And look for “Homegraph” :

gsh

Click on homegraphapi then activate the API and click on manage :

gsh

Click on identifier on the left :

gsh

Then on “Identifiers of APIs and services” :

gsh

Click on “Create identifiers” then on “API key” :

gsh

Copy the API key generated and paste it on the Google Smarthome plugin management page in “Google API Homegraph”

Last step to give Jeedom the project id to manage the connection, go here then click on your project. Recuperez l’url de la forme “https://console.actions.google.com / u / 0 / project / myproject-31023 / overview “, the project id is between project / and / overview, in the example here it is” myproject-31023 “, copy this id on the management page the Google Smarthome plugin in “Smarthome Project ID”.

Here you can now click on the left on “Action” :

gsh

Then on test :

gsh

Then you need on a smartphone android (must not work on an iphone) connect to your Jeedom by the external url of it. Then go to the home application then “configure or add” then “Configure a device” and finally click on “Works with Google” and add your service created above (it starts with [test])

Jwt configuration

JWT allows you to automatically report any change in the status of an item of equipment sent to Google, which therefore allows you to have the status more quickly when you request it from Google Home or the Google Home app. It is not compulsory to configure it however if you check the box “Go back to the state” it is absolutely necessary to have done so for it to work.

To make the configuration you need

Plugin configuration

On your Jeedom, go to Plugin -> Communication -> Google Smarthome and in the equipment section select the equipment to be transmitted to Google as well as the type of equipment.

gsh

Important

The plugin is based on the generic Jeedom types of commands to control your home automation. It is therefore very important to configure these correctly.

NOTE

For the “camera” type you must absolutely configure the URL of the stream (we tested only the RTSP) so that it works. Note that camera support is currently in beta and consumes a lot of resources

Equipement

On equipment you can configure :

Type

The types of equipment are important this allows Google to react according to the sentences you say.

Important

Jeedom support for “beta” types not yet documented at Google so that may or may not work depending on updates at google

Important

The thermostat type is only fully supported through equipment coming from the thermostat plugin, otherwise the management of the modes may not work

Scenario

You can also create scenes in the scene tab, with input and output actions.

gsh

NOTE

To start a scenario just say “Active #nom du scénario#” or “Disable #nom du scénario#

NOTE

When saving Jeedom will automatically request synchronization with Google. Attention in standalone mode if you have an error (type “Requested entity was not found”) try to reactivate the test of the application (here) then click again on the connection button on the page the plugin configuration page. Also check the configuration (especially the oauth part) of your google application (sometimes the fields are cleared by Google)

All you have to do is assign the equipment to the rooms in the Google Home app

FAQ

I can’t make the association in cloud mode ?

We must verify that :

  • you are fine in https (if you have a service pack, use jeeodm DNS these are secure by default)
  • you have activated Google assistant on the market (profile page, tab my services then configuration in the voice assistant section)
  • you have subscribed to the voice services subscription and it is still valid (necessary from 01/06/2019). This can be seen on your market profiles page, tab my services
  • it is necessary in plugin -> communication -> Google Smarthome select “transmit” equipment and set the type and finally save
  • use your market credentials well

During the association I have an error (but not on a problem of password / username)

If you have an error during the association with Jeedom it probably comes from the fact that you did not add / transmit equipment before making the association. To correct go to Plugins -> Communication -> Alexa then ticked at least one piece of equipment to transmit and save (check that the piece of equipment is in OK, if it is in NOK click on the NOK to see why or ask about generic type in jeedom). Then redo the association

What are the possible orders ?

Voice commands (as well as returns) are managed only by Google, here is the Documentation

The assistant asks me to assign the parts but I don’t know what the equipment corresponds to.

Yes the assistant does not display the real name of the equipment, just the nickname. You must therefore quit the assistant and return to the home control home page. By clicking on the equipment you will have its name you can then assign it to a room

Why do you need to assign parts to each piece of equipment ?

Because Google doesn’t allow you to do it through the API so you absolutely must do it manually.

I get the error message “OpenSSL unable to sign data”

You have to check the “Push the state” box (in the advanced configuration, green button with the notched wheel) without doing the JWT configuration

I get the error message “Cant find resource 404” when saving

So no worries everything is saved, it’s just automatic synchronization that is not done. To make it say “Synchronize my devices” to your assistant. To try to correct this concern : go to the next page here. On this page you will see the list of all projects even those invisible on the google actions page. Delete all unused projects. Then redo the tutorial from the step configure the API key Homegraph (activation, generation of key, then dissociate jeedom from your google account and redo the link)

You have a link error or Unable to update the parameter, check your connection in cloud mode

It is necessary in jeedom, on the plugin to add equipment, save and redo the association of Jeedom Smarthome in the Google Home application

I get the error “Apparently Jeedom Smart Home is unavailable at the moment.” or “Sorry I can’t connect to Jeedom Smart Home.”

Try to un-associate / re-associate the Google smarthome app. Be careful to take the official application and not a [TEST] application if you have used standalone mode before.

When adding equipment I have NOK

Just click on the NOK a window will tell you the generic type to have on the equipment controls for it to work

Changing the speed on a fan does not work

After analysis Google does not send an order during an action on speed. We must therefore wait for Google to correct

Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site web. Si vous continuez à utiliser ce site, nous supposerons que vous en êtes satisfait.