openHAB Google Assistant Integration v2.0

Michael, did you see my previous post about the setpoint beeing reset (to NULL), when I updated the item for heating mode?

Yes. I think this is a normal openHAB behavior when updating item definitions. The connected thing should update it afterwards.

It’s possible, volume, channel, stop, pause, play … etc with action.devices.traits.Volume , action.devices.traits.Channel and action.devices.traits.MediaState, but it’s not official, I know @michikrug looked at this traits . It will be perfect with a group action.devices.types.TV (look like thermostat group) with inside this differents traits :heart:

1 Like

Hmm. I´m not really sure how to force an update on a temperature setpoint. Normally this only update from a manual interfeering… Perhaps @pauli_anttila have an idea for the IHC binding, as that is the thing in question here.

Wow thank you so much for that Progress. Makes Google Home much more enjoyable now.

One issue i figured out is that i added the Humidity Fuction. Item have a Number Value of for example 74. But when i ask Google how ist Humidity in LivingRoom he says 0. Did i miss sth?

Im also looking forward to the new integration with more possibilities :-))

@michikrug
I´m not sure if this is a openhab issue or Google issue or perhaps a mix. But something is wrong somewhere. And I dont see others mentioning the same issue. But…
I´ll try explain as clear as I can… Hold tight, cause it is quite confusing.

Google Home app on my iphone no longer recognize my IHC dimmers lights, which are tag´d through openhab. The app see the light as simple on/off. (no cogwheel to change the dimming).
But…
Google Home app on my Android phone my IHC dimmers works fine. There is a cogwheel and dimmer works fine…

This could sound like a GH app failer on the iphone, right?
But…

Google Home app on my iphone works fine with my Philips Hue lights (with dimmer/cogwheel)…
Differences:
Hue is directly connected to Google Home via the app services…
IHC dimmers are connected through openhab service.

Then I´m no longer sure if this is really a iphone app issue anymore… Sounds very odd…

It gets more strange…

On my Google Nest Hub:
Hue lights works fine (dimmer and cogwheel). But all my IHC dimmers do not work at all. The Nest Hub tries to connect to the dimmer, but returns back to main screen.

And just to make things even worse:
Using voice control works fine, both controlling, turn on/off or dimming IHC dimmers. So it may seem it´s a visual problem in the iphone app and the Google Nest Hub.

:astonished:

This is how I have tagged my IHC dimmers. They have worked just fine for several months, just untill you made the lasted update.

Dimmer    stort_badDimmerLys    "Loftlys i Stort Bad [%.0f %%]"      <cu_spot>     (vLys)       [ "Lighting" ]     { channel="ihc:controller:elko:stortbad_dimmer", autoupdate="false" }

This really sounds strange and will be super hard to debug from my side, since I a) have no iDevice and b) also no Nest Hub.
Also I have no access to logs or anything helpful here.
In two weeks I will try play with some settings to see if I can find some clues. But no promises here.

Could the label with the special chars be an issue?
But I think they were also attached the same way before…
No real idea atm.

I have to admit, so far I did not test the humidity function.
I will add this to my todo list.

Agree its very strange… And yes, the label has been like that for months… well since OH supported GA I would say…
I guess whats needed here is someone with an iphone, and having a dimmer tagged through OH.

To give you a small update on this…
The Android app have problems as well. When I enter a dimmer (light) it always show 0, even though the dimmer is on at 30% or anything else.

Look at this… The bottom lamp is one of my IHC dimmers. It´s actually turn on at 30% right now. But the app shows 0.

This next screenshot is from my livingroom where I have Hue lamps… Notice, it DO show their actual state:

For some reason is seems like devices tagged through openhab does not update correctly. But devices added directly to Google Home service (such as Hue) updates just fine.
I can still controle the dimmer from the GH android app, but not the GH iphone app.

fyi, GA humidity as a component of an OH thermostat (including mode, temp, setpoint, hum) works fine for me. Created it with PaperUI.

It’s best to just report spam instead of responding to it. It’s less confusing as once the post is marked as spam it get’s hidden and eventually removed and your reply ends up hanging out there looking to be disconnected from anything.

1 Like

I am having issues with my thermostat not working in Google assistant since the update.

(I updated to 2.5 m5 at the same time the Google assistant integration was being updated)

I have tried multiple ways of setting my thermostat tags and I never get it to show up in the home app or work properly thru the home speaker.

Info and steps taken in this thread.

There are something weird going on with both thermostats and ligthning at my setup. But it seems to be concentrated on the GUI of the Iphone Google Home app, which is caused from the latest update.
All my devices shows fine using Android Google Home app. And all devices works fine using voice commands.

Why I´m saying this: Because I´m pretty sure the lastest update has cause some problems, which may also be the reason why your´s not working… However, I have to admit, I find it very strange that Google Assistant dont even see your devices… That should always work, even if there is no “real” device behind.

@michikrug
Hi Michael… A short question…

What exactly is the targetHeatingCoolingMode depending on? According to the docs, it´s either “heat, cool, on or off”. It can be set by a Numer item or a String…
Pleas correct me if I´m wrong, but isn´t the targetHeatingCoolingMode a state to tell, if the heater is On/Off or Heating/Cooling, and in Google Home app it will change the visual color from red to blue? (heating/ cooling or on/off) ?

Reason I ask is, my underfloor heating setup is not having an exactly specific Mode. It´s a simple temperature sensor, and the logic just detamins if the temperature is above or below the setpoint. If temperature is above setpoint (incl thresshold), then turn off the actuator/telestat. If it´s below, then turn on the actuator/telestat…

Just plain and simple heating control system.

Now I wonder… Thinking about the above, shouldnt the actuator be used to set the actual targetHeatingCoolingMode then? I´m pretty sure it is suppose to work like this. But there is a slight problem. The actuator/telestat is a Switch type item, not a Number and not a String.
So in order to make this work, we will need the targetHeatingCoolingMode to have a Switch type option as well.

Couldn´t/shouldn´t it be done like this?

EDIT:
I just tried the above by using a String “proxyitem” for targetHeatingCoolingMode, and a rule which change the item to either “heat” or “cool” when the actuator/telestat changes… And it works exactly as descriped above… In Google Home app, the thermostat will change color, red when “heat” and blue when “cool”.

This is the rule:

rule "heatingmode"
when
     Item telestat1_stort_bad changed
then
     if (telestat1_stort_bad.state.toString == "ON" ) {
        stort_bad_Mode.postUpdate("heat") } 
     else {
         stort_bad_Mode.postUpdate("cool") }
end

So it does work as it is now. But if we could have a Switch type item for targetHeatingCoolingMode, then we wouldn´t have to use a rule to do this and not even a String, as the telestat/actuator can be used to set tagetHeatingCoolingMode.

Google assistant can see my device. But it just gives me a blank dial with no info when I open it. On iPhone or Android.

This is the most I get - first I just get the gray blank dial but if I touch the gear icon then go back I get this.

So it actually do see your thermostat. [ “Thermostat” ]

But it doesnt get any value from the temperature, [ “CurrentTemperature” ]
And it doesnt get any Heat mode either, [ “homekit:TargetHeatingCoolingMode” ]
And it probably dont get any setpoint either, [ “homekit:TargetTemperature” ] (Thats the wheel).

Something is wrong either in your setup (items files) or the values are not number values.
Could you post these four items here, (One Group, two Numbers and last Number/String), and fencecodes please.

Do you see any change states (value) for temperature, setpoint and heatmode in your logfile, if you try to manipulate it? (turn up/down for the heating as you usually would, without the use of GA).

Here is my entire item file (4 lights and a thermostat - thermostat is split in two due to the dual setpoints)

I don’t know what you mean by fencecodes.
The thermostat works fine via openhab paperui or habpanel. Nothing in the logs.

This is the thermostat for one of my rooms, showen by the use of code fenses:
(code fense is a visual way to show in the forum, which makes it alot easier to read).

Group     g_marc_TSTAT               "Marc Thermostat"                                                                                             [ "Thermostat" ]
Number    marc_Temperature           "Marcs værelse Temperatur [%.1f °C]"                    <cu_heating>    (g_marc_TSTAT,Temperatur,gTvaer)      [ "CurrentTemperature" ]              { channel="ihc:controller:elko:marc_temperatur_fb" }
Number    marc_Tempsetpunkt          "Marcs værelse Temperature setpunkt [%.1f °C]"          <temperature>   (g_marc_TSTAT)                        [ "homekit:TargetTemperature" ]       { channel="ihc:controller:elko:marc_temperaturSet_fb", autoupdate="false" }
String    marc_Mode                  "Marcs værelse Mode [%s]"                                               (g_marc_TSTAT)                        [ "homekit:TargetHeatingCoolingMode" ]

These are your items (I deleted everything else than what to be focus´d on):

Group   g_Housecool       "House Cooling"                                [ "Thermostat", "Fahrenheit" ]
Number  Housecoolmode     "House Heating/Cooling Mode"   (g_Housecool)   [ "homekit:TargetHeatingCoolingMode" ] {channel="zwave:device:c8787433:node3:thermostat_mode"}
Number  CoolCurrentTemp   "House Temperature"            (g_Housecool)   [ "CurrentTemperature" ]               {channel="zwave:device:c8787433:node3:sensor_temperature"}
Number  HouseSetTempCool  "House Setpoint Cool"          (g_Housecool)   [ "homekit:TargetTemperature" ]        {channel="zwave:device:c8787433:node3:thermostat_setpoint_cooling"}

Now, what you need to look at is, what state/value is posed TO openhab from these zwave channels:

{channel="zwave:device:c8787433:node3:thermostat_mode"}
{channel="zwave:device:c8787433:node3:sensor_temperature"}
{channel="zwave:device:c8787433:node3:thermostat_setpoint_cooling"}

If you are sure the log shows nothing for these three channels, then I would believe this is an issue between openhab and the zwave device… And not relate to the GA integration.

The first channel item Housecoolmode should state ON/OFF, cause it´s your [ “homekit:TargetHeatingCoolingMode” ] mode. If its a string, you would have to change the item type to String insted of Number.
You second channel item CoolCurrentTemp should state a value of the actual temperature cause its your [ “CurrentTemperature” ]
The third channel item HouseSetTempCool should state a value of your setpoint, cause its your [ “homekit:TargetTemperature” ]

Please verify that these items actually has a state/value. I have a very bad feeling, this is where you problem might be.

Sidenote:
I actually wonder if you need to set the unit of each items (in the label), like I do in mine… It shouldn´t make a difference, but on the other hand, it does make sense if it´s required, cause GA do read the labels in other items. Give it a try and add [%.1f] to the CurrentTemperature and TargetTemperature items. It wont hurt to try.

This setup works perfectly in openhab - I have checked it by changing things in paperui and habpanel and watching the thermostat change. There is no errors thus nothing in the log. Mode shouldn’t be on\off because it is for both heating and cooling sides. So the options should be off\heat\cool\auto (maybe not in that order). I have tried both number (what the thermostat defaults to) and string. All items work as intended with openhab just not with ga.

I will try the unit once my baby gets up from his nap (he is in the room where the computer is)