Official Google Assistant Integration for openHAB

Tags: #<Tag:0x00007f2fbf5aa0f0> #<Tag:0x00007f2fbf5a9f88> #<Tag:0x00007f2fbf5a9dd0>

My blinds is working but they are inverted.

I recently implemented a garage door (using Garadget) and linked it to Google Home via myopenhab. I noticed when I told Google to open, it sends value 100 and when I told it to close it sends 0. So I wrote a rule to deal with that and invert the value myself.

The remaining problem is when the garage door is closed, and I asked Google, it would say that it’s open and vice versa, but that’s not a big deal.

@All,

Latest state with fix is deployed. Please test it folks and let me know if it is working fine.

Thanks & BR
Mehmet

1 Like

Hi Mehmet,

Commands open and close works as expected, opening and closing blinds respectively (roller shutters in my case).

But now command set blinds to 100% opens it completely. My understanding, reading docs, is that UP equals 0%, DOWN - 100% - https://www.openhab.org/docs/concepts/items.html#a-note-on-items-which-accept-multiple-state-data-types
It could be, that OH logic is not in line with Google Assistant states https://developers.google.com/actions/smarthome/traits/openclose

Float. [0, 100]. Required. Indicates the percentage that a device is opened where 0 is closed and 100 is fully open.

I can confirm the same behaviour.

Personally I prefer the 100% = open behaviour because it is the same logic of the dimmers (100% = maximum light)

Would it be possible to get the camera function in google home with the IpCamera: New IP Camera Binding binding?
It now supports HLS streaming.

@alex_the2 Sorry to hear you’re still having troubles. I don’t have any suggestions, other than to try setting up a new account on myopenhab. That seems to be the root of the issue.

If that doesn’t work and you can’t find anything else in the forum, I would suggest starting a new topic specifically about your issues getting Google Assistant to authenticate your myopenhab account. Otherwise, you’ll just keep getting lost in the multiple conversations going on in this thread.

I wonder whether binding developers have always implemented the 0 and 100 values consistently. I for example have powerview duette shades. They can move up and down, but they also have a vane setting (rotation). The vertical position obeys the 0 and 100 logic, the vane setting does not.

Anyway, I can work with that in rules. Thanks for all the hard work.

I followed the instructions here in the forum

Hi @MARZIMA,
I still can’t get the thermostats to work correctly. Was this one of the fixes?
Regards.

Mine doesn’t work anymore as well. Whenever I try to accessit, I get an error from google saying openhab is unavailable. My lights don’t have any issues.

I use IFTTT for roller shutters.
Google Assistant >> IFTTT >> Openhab

I just discovered I have problems with thermostat as well. However, it´s a odd problem.

My thermostats works fine in Google Home app, as well as voice command through Google Home mini´s. Only exception is, I can no longer get an respond when asking about the humidity.

However…
I bought a Google Home (nest) Hub the other day. My thermostats do NOT work in the Google nest Hub. I dont get an temperature state/value, and Google nest hub tells me the mode is not supported.

This is my items for one thermostat which had both temperature sensor as well as humdity sensor.

Group g_Stortbad_TSTAT               "Stort Bad Thermostat"                                                                                                                     [ "Thermostat" ]
Number stort_bad_Temperature         "Stort Bad Temperatur [%.1f °C]"                                          <cu_heating> 	(g_Stortbad_TSTAT,Temperatur,gTvaer,gSugeTemp) 	[ "CurrentTemperature" ]   { channel="ihc:controller:elko:stortbad_temperatur_fb" }
Number stort_bad_Tempsetpunkt        "Stort Bad Temperature setpunkt [%.1f °C]"                                <temperature>	(g_Stortbad_TSTAT)                              [ "TargetTemperature" ]	   { channel="ihc:controller:elko:stortbad_temperaturSet_fb", autoupdate="false" }
Switch telestat1_stort_bad           "Stort Bad Telestat [%s]"                                                 <cu_switch>  	(g_Stortbad_TSTAT,gTelestat)                                               { channel="ihc:controller:elko:stortbad_telestat" }
Number    stort_bad_fugt             "Stort Bad Fugtighed [%.0f %%]"                                           <Humidity>       (g_Stortbad_TSTAT,Fugtighed,gHumidityBathRoom) 	[ "CurrentHumidity" ]      { channel="ihc:controller:elko:stortbad_fugtighed" }

I have no idea who to set this up (which mode) to be able to get it to work with Google nest Hub. But I find it rather strange it works fine using the Google Home app, and voice control on a Google Home mini.

EDIT.
Just did a small test, as my settings didn´t have the [ “homekit:HeatingCoolingMode” ] tag. When I insert this an link it to my telestat, (which I believe is the one which should report wether it´s colling or heating (or on/off). Google Home app does no longer work with my thermostat I have inserted this tag to… Google Home app says, the thermostat doesnt respond.

This s my items for the testing: My telestat resports on/off, so I first tried with String. It didn´t work. Then I tried with Number, which didn´t work either, ofcouse… How come there isn´t a switch mode available?.

Group     g_Stortbad_TSTAT           "Stort Bad Thermostat"                                                                                                                     [ "Thermostat" ]
Number    stort_bad_Temperature      "Stort Bad Temperatur [%.1f °C]"                                          <cu_heating> 	(g_Stortbad_TSTAT,Temperatur,gTvaer,gSugeTemp) 	[ "CurrentTemperature" ]   { channel="ihc:controller:elko:stortbad_temperatur_fb" }
Number    stort_bad_Tempsetpunkt     "Stort Bad Temperature setpunkt [%.1f °C]"                                <temperature>	(g_Stortbad_TSTAT)                              [ "TargetTemperature" ]	   { channel="ihc:controller:elko:stortbad_temperaturSet_fb", autoupdate="false" }
Switch    telestat1_stort_bad        "Stort Bad Telestat [%s]"                                                 <cu_switch> 	(g_Stortbad_TSTAT,gTelestat)                                               { channel="ihc:controller:elko:stortbad_telestat" }
DateTime  telestat1_stort_badStamp   "StortBad Telestat ON [%1$tH:%1$tM:%1$tS %1$td.%1$tm.%1$tY]"              <time>           (gTelestatStamp)
Number    stort_bad_fugt             "Stort Bad Fugtighed [%.0f %%]"                                           <Humidity>       (g_Stortbad_TSTAT,Fugtighed,gHumidityBathRoom) 	[ "CurrentHumidity" ]      { channel="ihc:controller:elko:stortbad_fugtighed" }

String    stort_bad_Mode             "Stort Bad Heating/Cooling Mode"                                                           (g_Stortbad_TSTAT)                       [ "homekit:HeatingCoolingMode" ]  { channel="ihc:controller:elko:stortbad_telestat" }  

According to thermostat and reading temperature and humidity I have a question: Is this possible to develop universal tag for sensor, i.e:

  • temperature
  • humidity
  • power
  • pressure
  • any other value.

Similar like this:

Number GF_FamilyRoom_Outdoor_Humidity_Sensor "Outdoor humidity [%.1f%%]" <humidity> (gSensorTemperature, gPersistenceSensor) ["Sensor"]
Number GF_FamilyRoom_Pressure_Sensor "Outdoor pressure [%.1fhPa]" <pressure> (gSensorTemperature, gPersistenceSensor) ["Sensor"]
- OK Google, what is the <label>?
- Current value of <label> is now <value>.

(I was asked about that in Read openhab sensor value using Google Home and OpenHAB Cloud Connector some time ago).

You can, but you cant use it for thermostats then, and Google home wont recognize it either. Hmm, so the answer is probably, you cant :slight_smile:

Wait :slight_smile:
I understand, that using thermostat to read humidity and temperature (in my case from dht sensor) is a workaround.

I won’t set any thermostat values. This is rather the question for enhancement in OpenHAB integration plugin to support this. I won’t use any additional services (I read that IFTTT can manage that).

There are many values accessible in various types of sensors/metrics. The question is how to read them using OpenHAB.

Update:
I’ve checked IFTTT integration with OpenHAB. It can only send command, not return any value to Google Home (IF Google Assistant THEN OpenHAB). If I understand it well, there is no possibility to get any value from OpenHAB this way and native support is required or changes in IFTTT binding.

As far as I know, nothing is possible to send to Google Home. Google Home devices, as its a receive device only, unless you use casting. But this kind of “send command” is not really usefull for what you are seaching for, I guess.

Just a comment.
I changed the “homekit:HeatingCoolingMode” to “homekit:TargetHeatingCoolingMode” as per the HomeKit Add-on page, and my thermostats (heating control only, on radiators) works as normal with google home after this.

1 Like

you mean that you can change mode to off and on again ?

The Danfoss Thermostats do not support different modes (they are always in heating mode), so I cannot tell if that works.