HVAC - AC Google Assistant setup

Hello Everyone,

I’ve been trying to figure out how to add my Daikin AC-s into Google Home, to be able to voice control them via Google Assistant in OH 3.1

I’ve read through the OH 3.1 GA page, and have checked some of the users .items files but I’m not able to properly configure my items, so the AC would show up properly in Google Home.

My basic problem is that my AC does not have and OFF mode under “modes”, it has a switch from which it can be turned ON and OFF.
If I edit the ga=Thermostat group to have my AC’s possible modes (modes=“AUTO, DEHUMIDIFIER, COLD, HEAT, FAN”) then I’ll have no chance to turn it on or off. If I add an OFF/ON value to the modes I got error in the logs that the ON / OFF state is not a valid MODE value.

Here is my allAC.items file:

Group  gGAHaloAC { ga="Thermostat" [ thermostatTemperatureRange="16,32", useFahrenheit=false, roomHint="Bedroom" ] }

Switch                 DaikinHaloPower                        "Bekapcsolás"      <climate>  (gBedroomAC, gAllAC)  ["Control", "Power"]                  {channel="daikin:ac_unit:192_168_1_91:power"}
Number:Temperature     DaikinHaloSettemp                      "Hőfok"           <temperature> (gBedroomAC, gGAHaloAC)  ["Setpoint", "Temperature"]                      {channel="daikin:ac_unit:192_168_1_91:settemp", ga="thermostatTemperatureSetpoint"}
Number:Temperature     DaikinHaloIndoortemp                   "Szoba Hőmérséklet"      <temperature> (gBedroomAC, gGAHaloAC)  ["Measurement", "Temperature"]                   {channel="daikin:ac_unit:192_168_1_91:indoortemp", ga="thermostatTemperatureAmbient"}
Number:Temperature     DaikinHaloOutdoortemp                  "Terasz Hőmérséklet"      <temperature> (gTerraceSensor)  ["Measurement", "Temperature"]                     {channel="daikin:ac_unit:192_168_1_91:outdoortemp"}
String                 DaikinHaloMode                         "Mód"                     (gBedroomAC, gGAHaloAC) ["Control"]                {channel="daikin:ac_unit:192_168_1_91:mode", ga="thermostatMode"}
// String                 DaikinHaloHomekitmode                  "Homekit mód"             (gBedroomAC) ["Control"]                {channel="daikin:ac_unit:192_168_1_91:homekitmode"}
String                 DaikinHaloFanspeed                     "Ventillátor erősség"           <fan>     (gBedroomAC) ["Control"]              {channel="daikin:ac_unit:192_168_1_91:fanspeed"}
String                 DaikinHaloFandir                       "Ventillátor irány"     <flow>    (gBedroomAC) ["Control"]          {channel="daikin:ac_unit:192_168_1_91:fandir"}
// String                 DaikinHaloSpecialmode                  "Speciális mód"             (gBedroomAC) ["Control"]               {channel="daikin:ac_unit:192_168_1_91:specialmode"}
Switch                 DaikinHaloSpecialmodePowerful          "Erőteljes mód"             (gBedroomAC) ["Control"]               {channel="daikin:ac_unit:192_168_1_91:specialmode-powerful"}
Number:Energy          DaikinHaloEnergycoolingtoday           "Háló Klíma Napi Fogyasztás"   <energy> (gBedroomAC)    ["Status", "Power"]       {channel="daikin:ac_unit:192_168_1_91:energycoolingtoday"}

I Think I should add somehow a ga= tag to the DaikinHaloPower Item to be able to switch it on / off but I’m not sure what tag should I use for it.

Use a virtual string item that’s exposed to GA to receive commands, and a rule to command the AC when the virtual item changes. A case statement works well for this scenario.

Hello Russ,
Thanks for the input. It can work, I was just wondering if it can be handled natively without any string items or added rules.