Google assistant mapping to velbus doesn't seem to work

  • Platform information:
    • Hardware: RPI5
    • OS: Openhabian
    • Java Runtime Environment: openjdk 21.0.9
    • openHAB version: Openhabian 5.0.2
  • Issue of the topic:

Hi! :waving_hand:

I have an Openhab 5.0.2 setup connected to a Velbus installation with a vmbel1 module which I want to use as a thermostat. I want to make it configureable in Google Home too. I followed the instructions here (Google Assistant | openHAB) which worked partially. I can now see my thermostat, but I can’t change anything. The set temperature is immutable in Google Home and the modes aren’t being mapping correctly.

As described in the docs, i created a group with 3 members:

  • Bathroom_Thermostat_currentTemp
  • Bathroom_thermostat_mode
  • Bathroom_currentTemp_setpoint

The mode item has the following GA metadata config:

value: thermostatMode
config:
supportedModes:
- Day
- Night
- Comfort
- Safe

The group GA metadata looks like this:

value: Thermostat
config:
  thermostatTemperatureRange: 0,40
  modes: off=SAFE,heat=DAY,eco=NIGHT,on=DAY
  roomHint: Bathroom

Whatever mode I choose in Openhab (Safe, Day, Night or Day) doesn’t show up in Google and just shows as “On”.
Whatever mode I choose in Google defaults to the “Safe” mode in Openhab. It looks like the Google values are being sent to my mode item which are being rejected since they weren’t mapped. The logs show this:

INFO openhab.event.ItemCommandEvent Item 'Bathroom_thermostat_mode' received command heat
INFO openhab.event.ItemStatePredictedEvent Item 'Bathroom_thermostat_mode' predicted to become heat
INFO openhab.event.ItemStateChangedEvent Item 'Bathroom_thermostat_mode' changed from SAFE to heat
INFO openhab.event.ItemStateChangedEvent Item 'Bathroom_thermostat_mode' changed from heat to SAFE

The docs mention For the translation of Google modes to openHAB always the first option after the equal sign is used so I would assume that the Google values would have been mapped as described in the group GA metadata

Am I missing something here ?

Hi

Thermostats are an issue with Alexa & Google.

It seems that can’t cope with the Power of Velbus :laughing:

I’ve been trying for years, with varying results.

I really need to update my own server to OH5, when I do, I’ll try getting the thermostats running again.

FYI

This is my working Text file Items configuration for a Velbus thermostat, with Alexa and Google MetaData.

// Thermostat Items

// Semantic Item convention
//	Type	MachineName						"Human readable name"			<icon>			(groups)	["Semantic Type"]	{channel}

// New Google Assistant and Alexa Metadata tagging 


	Group 	Lounge_Thermostat				"Lounge Thermostat" 				<heating> 		(gLounge)			 ["HVAC"]													{ga="thermostat" [thermostatModes="off=SAFE,heat=DAY:COMFORT,eco=NIGHT,on=DAY", roomHint=" Lounge"], alexa="Endpoint.Thermostat" }
	Number 	Lounge_CurrentTemperature 		"Lounge Current Temperature" 		<temperature>	(Lounge_Thermostat, WholeHouse_CurrentTemperature)			["HVAC"]	{channel="velbus:vmbgpod:VelbusNetworkBridge:2C:input#CH33"								,	ga="thermostatTemperatureAmbient" 	,	alexa="TemperatureSensor.temperature" }
	Number 	Lounge_CurrentTargetTemperature	"Lounge Current Target Temperature"	<heating>		(Lounge_Thermostat, WholeHouse_CurrentTargetTemperature)	["HVAC"]	{channel="velbus:vmbgpod:VelbusNetworkBridge:2C:thermostat#currentTemperatureSetpoint"	, 	ga="thermostatTemperatureSetpoint"	,	alexa="ThermostatController.targetSetpoint"}
	String 	Lounge_ThermostatMode 			"Lounge Thermostat mode"	  	 	<heating>		(Lounge_Thermostat, WholeHouse_ThermostatMode			)				{channel="velbus:vmbgpod:VelbusNetworkBridge:2C:thermostat#mode"						,	ga="thermostatMode"  				,	alexa="ModeController.mode" [friendlyNames="@Setting.Preset", supportedModes="SAFE=Safe,NIGHT=Night,DAY=Day,COMFORT=Comfort"]}
	String 	Lounge_ThermostatOperatingMode 	"Lounge Thermostat operating mode"	<heating>		(Lounge_Thermostat, WholeHouse_ThermostatOperatingMode	)				{channel="velbus:vmbgpod:VelbusNetworkBridge:2C:thermostat#operatingMode"														,	alexa="ThermostatController.thermostatMode" [COOL="COOLING",HEAT="HEATING"]	}


	Number	Lounge_HeatingComfortTarget 	"Lounge Heating Comfort Target Temperature"		<temperature>	(WholeHouse_HeatingComfortTarget 	)						{channel="velbus:vmbgpod:VelbusNetworkBridge:2C:thermostat#heatingModeComfortTemperatureSetpoint"		}
	Number	Lounge_HeatingDayTarget 		"Lounge Heating Day Target Temperature"	  		<temperature>	(WholeHouse_HeatingDayTarget 		)						{channel="velbus:vmbgpod:VelbusNetworkBridge:2C:thermostat#heatingModeDayTemperatureSetpoint"			}
	Number	Lounge_HeatingNightTarget 		"Lounge Heating Night Target Temperature"	 	<temperature>	(WholeHouse_HeatingNightTarget 		)						{channel="velbus:vmbgpod:VelbusNetworkBridge:2C:thermostat#heatingModeNightTemperatureSetpoint"			}																											 
	Number	Lounge_HeatingAntifrostTarget	"Lounge Heating Antifrost Target Temperature"	<temperature>	(WholeHouse_HeatingAntifrostTarget	)						{channel="velbus:vmbgpod:VelbusNetworkBridge:2C:thermostat#heatingModeAntiFrostTemperatureSetpoint"		}
                                                                                            
																																					
	Number	Lounge_CoolingComfortTarget 	"Lounge Cooling Comfort Target Temperature"		<temperature>	(WholeHouse_CoolingComfortTarget)							{channel="velbus:vmbgpod:VelbusNetworkBridge:2C:thermostat#coolingModeComfortTemperatureSetpoint"		}
	Number	Lounge_CoolingDayTarget			"Lounge Cooling Day Target Temperature"			<temperature>	(WholeHouse_CoolingDayTarget	)							{channel="velbus:vmbgpod:VelbusNetworkBridge:2C:thermostat#coolingModeDayTemperatureSetpoint"			}
	Number	Lounge_CoolingNightTarget 		"Lounge Cooling Night Target Temperature"		<temperature>	(WholeHouse_CoolingNightTarget 	)							{channel="velbus:vmbgpod:VelbusNetworkBridge:2C:thermostat#coolingModeNightTemperatureSetpoint"			}
	Number	Lounge_CoolingSafeTarget		"Lounge Cooling Safe Target Temperature"		<temperature>	(WholeHouse_CoolingSafeTarget	)							{channel="velbus:vmbgpod:VelbusNetworkBridge:2C:thermostat#coolingModeSafeTemperatureSetpoint"			}
	  
	  
// heating & cooling relays if you want to include them in this Items file
	Switch	Lounge_HeatingRelay	"Lounge Heating"	<radiator>	(WholeHouse_HeatingRelay,WholeHouse_HeatingRelay_Count,Lounge_Thermostat	)	["HVAC"] 	{channel="velbus:vmb4ryno:VelbusNetworkBridge:74:CH1"}
	Switch	Lounge_CoolingRelay	"Lounge Cooling"	<climate>	(WholeHouse_CoolingRelay,WholeHouse_CoolingRelay_Count,Lounge_Thermostat	) 	["HVAC"]	{channel="velbus:vmb1ryno:VelbusNetworkBridge:71:CH3"}

I don’t do Item to Thing configuration in the MainUI as I just can’t wrap my head around it (and Bulk editing to get client systems up and running is SO much easier with text files.)

However, this is what the CODE tab of my own Lounge GPOD THING is showing
(All my Glass panels with thermostat function activated are configured the same way, Edge lit or classic)

label: Lounge GPOD (2C)
thingTypeUID: velbus:vmbgpod
configuration:
  CH19: None
  CH18: Winter
  CH17: Summer
  CH16: Day Mode 2 hrs
  CH15: Cooling Mode
  CH14: Heat Mpde
  CH13: Slow Fade up
  CH12: Alarm 2 Enable
  CH11: Mirror Clock
  CH33: Lounge
  CH10: Under Stairs
  CH32: Cabin Bell
  subaddress4: E6
  CH31: Cabin OFF
  CH30: ALL OFF
  address: 2C
  subaddress3: 2F
  subaddress2: 2E
  subaddress1: 2D
  refresh: 300
  CH2: Main LX
  CH1: Wall
  CH4: Hallway
  CH3: Atmos
  CH6: Lounge Grn
  CH5: Hallway Grn
  CH8: Dining Grn
  CH29: House Bell
  CH7: TV Grn
  CH28: Lounge as Bedroo
  CH27: FR as Bedroom
  CH9: Alarm 1 Enable
  CH26: Push button 26
  CH25: Push button 25
  CH24: Push button 24
  CH23: Push button 23
  CH22: Main Light 4 hou
  CH21: Push button 21
  CH20: Away
bridgeUID: velbus:networkbridge:VelbusNetworkBridge
location: Lounge
channels:
  - id: thermostat#currentTemperatureSetpoint
    channelTypeUID: velbus:temperatureSetpoint
    label: Current Temperature Setpoint
    configuration: {}
  - id: thermostat#heatingModeComfortTemperatureSetpoint
    channelTypeUID: velbus:temperatureSetpoint
    label: Heating Mode Comfort Temperature Setpoint
    configuration: {}
  - id: thermostat#heatingModeDayTemperatureSetpoint
    channelTypeUID: velbus:temperatureSetpoint
    label: Heating Mode Day Temperature Setpoint
    configuration: {}
  - id: thermostat#heatingModeNightTemperatureSetpoint
    channelTypeUID: velbus:temperatureSetpoint
    label: Heating Mode Night Temperature Setpoint
    configuration: {}
  - id: thermostat#heatingModeAntiFrostTemperatureSetpoint
    channelTypeUID: velbus:temperatureSetpoint
    label: Heating Mode Antifrost Temperature Setpoint
    configuration: {}
  - id: thermostat#coolingModeComfortTemperatureSetpoint
    channelTypeUID: velbus:temperatureSetpoint
    label: Cooling Mode Comfort Temperature Setpoint
    configuration: {}
  - id: thermostat#coolingModeDayTemperatureSetpoint
    channelTypeUID: velbus:temperatureSetpoint
    label: Cooling Mode Day Temperature Setpoint
    configuration: {}
  - id: thermostat#coolingModeNightTemperatureSetpoint
    channelTypeUID: velbus:temperatureSetpoint
    label: Cooling Mode Night Temperature Setpoint
    configuration: {}
  - id: thermostat#coolingModeSafeTemperatureSetpoint
    channelTypeUID: velbus:temperatureSetpoint
    label: Cooling Mode Safe Temperature Setpoint
    configuration: {}
  - id: thermostat#operatingMode
    channelTypeUID: velbus:heatingOperatingMode
    label: Operating Mode
    description: Operating mode (heating/cooling) for the thermostat in Velbus
    configuration: {}
  - id: thermostat#mode
    channelTypeUID: velbus:heatingMode
    label: Mode
    description: Mode (comfort/day/night/safe) for the thermostat in Velbus
    configuration: {}
  - id: thermostat#heater
    channelTypeUID: velbus:thermostat-trigger-channel
    label: Heater
    configuration: {}
  - id: thermostat#boost
    channelTypeUID: velbus:thermostat-trigger-channel
    label: Boost
    configuration: {}
  - id: thermostat#pump
    channelTypeUID: velbus:thermostat-trigger-channel
    label: Pump
    configuration: {}
  - id: thermostat#cooler
    channelTypeUID: velbus:thermostat-trigger-channel
    label: Cooler
    configuration: {}
  - id: thermostat#alarm1
    channelTypeUID: velbus:thermostat-trigger-channel
    label: Alarm 1
    configuration: {}
  - id: thermostat#alarm2
    channelTypeUID: velbus:thermostat-trigger-channel
    label: Alarm 2
    configuration: {}
  - id: thermostat#alarm3
    channelTypeUID: velbus:thermostat-trigger-channel
    label: Alarm 3
    configuration: {}
  - id: thermostat#alarm4
    channelTypeUID: velbus:thermostat-trigger-channel
    label: Alarm 4
    configuration: {}
  - id: clockAlarm#clockAlarm1Enabled
    channelTypeUID: velbus:switch
    label: Clock Alarm 1 Enabled
    description: Switch control for action in Velbus
    configuration: {}
  - id: clockAlarm#clockAlarm1Type
    channelTypeUID: velbus:alarmType
    label: Clock Alarm 1 Type
    description: Type (local/global) of the alarm clock in Velbus
    configuration: {}
  - id: clockAlarm#clockAlarm1WakeupHour
    channelTypeUID: velbus:hour
    label: Clock Alarm 1 Wakeup Hour
    configuration: {}
  - id: clockAlarm#clockAlarm1WakeupMinute
    channelTypeUID: velbus:minute
    label: Clock Alarm 1 Wakeup Minute
    configuration: {}
  - id: clockAlarm#clockAlarm1BedtimeHour
    channelTypeUID: velbus:hour
    label: Clock Alarm 1 Bedtime Hour
    configuration: {}
  - id: clockAlarm#clockAlarm1BedtimeMinute
    channelTypeUID: velbus:minute
    label: Clock Alarm 1 Bedtime Minute
    configuration: {}
  - id: clockAlarm#clockAlarm2Enabled
    channelTypeUID: velbus:switch
    label: Clock Alarm 2 Enabled
    description: Switch control for action in Velbus
    configuration: {}
  - id: clockAlarm#clockAlarm2Type
    channelTypeUID: velbus:alarmType
    label: Clock Alarm 2 Type
    description: Type (local/global) of the alarm clock in Velbus
    configuration: {}
  - id: clockAlarm#clockAlarm2WakeupHour
    channelTypeUID: velbus:hour
    label: Clock Alarm 2 Wakeup Hour
    configuration: {}
  - id: clockAlarm#clockAlarm2WakeupMinute
    channelTypeUID: velbus:minute
    label: Clock Alarm 2 Wakeup Minute
    configuration: {}
  - id: clockAlarm#clockAlarm2BedtimeHour
    channelTypeUID: velbus:hour
    label: Clock Alarm 2 Bedtime Hour
    configuration: {}
  - id: clockAlarm#clockAlarm2BedtimeMinute
    channelTypeUID: velbus:minute
    label: Clock Alarm 2 Bedtime Minute
    configuration: {}
  - id: oledDisplay#MEMO
    channelTypeUID: velbus:text
    label: Memo
    configuration: {}
  - id: oledDisplay#SCREENSAVER
    channelTypeUID: velbus:switch
    label: Screensaver
    description: Switch control for action in Velbus
    configuration: {}
  - id: input#CH1
    channelTypeUID: velbus:trigger-channel
    label: Wall
    description: ""
    configuration: {}
  - id: input#CH3
    channelTypeUID: velbus:trigger-channel
    label: Atmos
    description: ""
    configuration: {}
  - id: input#CH7
    channelTypeUID: velbus:trigger-channel
    label: TV Grn
    description: ""
    configuration: {}
  - id: input#CH33
    channelTypeUID: velbus:temperature
    label: Lounge
    description: Current temperature
    configuration: {}
  - id: button#CH1
    channelTypeUID: velbus:button-channel
    label: Wall
    description: ""
    configuration: {}
  - id: button#CH3
    channelTypeUID: velbus:button-channel
    label: Atmos
    description: ""
    configuration: {}
  - id: button#CH7
    channelTypeUID: velbus:button-channel
    label: TV Grn
    description: ""
    configuration: {}
  - id: feedback#CH1
    channelTypeUID: velbus:ledFeedback
    label: Wall
    description: Feedback LED for the push button in Velbus
    configuration: {}
  - id: feedback#CH3
    channelTypeUID: velbus:ledFeedback
    label: Atmos
    description: Feedback LED for the push button in Velbus
    configuration: {}
  - id: feedback#CH7
    channelTypeUID: velbus:ledFeedback
    label: TV Grn
    description: Feedback LED for the push button in Velbus
    configuration: {}
  - id: input#CH17
    channelTypeUID: velbus:trigger-channel
    label: Summer
    description: ""
    configuration: {}
  - id: button#CH17
    channelTypeUID: velbus:button-channel
    label: Summer
    description: ""
    configuration: {}
  - id: feedback#CH17
    channelTypeUID: velbus:ledFeedback
    label: Summer
    description: Feedback LED for the push button in Velbus
    configuration: {}
  - id: input#CH18
    channelTypeUID: velbus:trigger-channel
    label: Winter
    description: ""
    configuration: {}
  - id: button#CH18
    channelTypeUID: velbus:button-channel
    label: Winter
    description: ""
    configuration: {}
  - id: feedback#CH18
    channelTypeUID: velbus:ledFeedback
    label: Winter
    description: Feedback LED for the push button in Velbus
    configuration: {}
  - id: input#CH19
    channelTypeUID: velbus:trigger-channel
    label: None
    description: ""
    configuration: {}
  - id: button#CH19
    channelTypeUID: velbus:button-channel
    label: None
    description: ""
    configuration: {}
  - id: feedback#CH19
    channelTypeUID: velbus:ledFeedback
    label: None
    description: Feedback LED for the push button in Velbus
    configuration: {}
  - id: input#CH20
    channelTypeUID: velbus:trigger-channel
    label: Away
    description: ""
    configuration: {}
  - id: button#CH20
    channelTypeUID: velbus:button-channel
    label: Away
    description: ""
    configuration: {}
  - id: feedback#CH20
    channelTypeUID: velbus:ledFeedback
    label: Away
    description: Feedback LED for the push button in Velbus
    configuration: {}
  - id: input#CH2
    channelTypeUID: velbus:trigger-channel
    label: Main LX
    description: ""
    configuration: {}
  - id: button#CH2
    channelTypeUID: velbus:button-channel
    label: Main LX
    description: ""
    configuration: {}
  - id: feedback#CH2
    channelTypeUID: velbus:ledFeedback
    label: Main LX
    description: Feedback LED for the push button in Velbus
    configuration: {}
  - id: input#CH4
    channelTypeUID: velbus:trigger-channel
    label: Hallway
    description: ""
    configuration: {}
  - id: button#CH4
    channelTypeUID: velbus:button-channel
    label: Hallway
    description: ""
    configuration: {}
  - id: feedback#CH4
    channelTypeUID: velbus:ledFeedback
    label: Hallway
    description: Feedback LED for the push button in Velbus
    configuration: {}
  - id: input#CH5
    channelTypeUID: velbus:trigger-channel
    label: Hallway Grn
    description: ""
    configuration: {}
  - id: button#CH5
    channelTypeUID: velbus:button-channel
    label: Hallway Grn
    description: ""
    configuration: {}
  - id: feedback#CH5
    channelTypeUID: velbus:ledFeedback
    label: Hallway Grn
    description: Feedback LED for the push button in Velbus
    configuration: {}
  - id: input#CH6
    channelTypeUID: velbus:trigger-channel
    label: Lounge Grn
    description: ""
    configuration: {}
  - id: button#CH6
    channelTypeUID: velbus:button-channel
    label: Lounge Grn
    description: ""
    configuration: {}
  - id: feedback#CH6
    channelTypeUID: velbus:ledFeedback
    label: Lounge Grn
    description: Feedback LED for the push button in Velbus
    configuration: {}
  - id: input#CH8
    channelTypeUID: velbus:trigger-channel
    label: Dining Grn
    description: ""
    configuration: {}
  - id: button#CH8
    channelTypeUID: velbus:button-channel
    label: Dining Grn
    description: ""
    configuration: {}
  - id: feedback#CH8
    channelTypeUID: velbus:ledFeedback
    label: Dining Grn
    description: Feedback LED for the push button in Velbus
    configuration: {}
  - id: input#CH9
    channelTypeUID: velbus:trigger-channel
    label: Alarm 1 Enable
    description: ""
    configuration: {}
  - id: button#CH9
    channelTypeUID: velbus:button-channel
    label: Alarm 1 Enable
    description: ""
    configuration: {}
  - id: feedback#CH9
    channelTypeUID: velbus:ledFeedback
    label: Alarm 1 Enable
    description: Feedback LED for the push button in Velbus
    configuration: {}
  - id: input#CH10
    channelTypeUID: velbus:trigger-channel
    label: Under Stairs
    description: ""
    configuration: {}
  - id: button#CH10
    channelTypeUID: velbus:button-channel
    label: Under Stairs
    description: ""
    configuration: {}
  - id: feedback#CH10
    channelTypeUID: velbus:ledFeedback
    label: Under Stairs
    description: Feedback LED for the push button in Velbus
    configuration: {}
  - id: input#CH11
    channelTypeUID: velbus:trigger-channel
    label: Mirror Clock
    description: ""
    configuration: {}
  - id: button#CH11
    channelTypeUID: velbus:button-channel
    label: Mirror Clock
    description: ""
    configuration: {}
  - id: feedback#CH11
    channelTypeUID: velbus:ledFeedback
    label: Mirror Clock
    description: Feedback LED for the push button in Velbus
    configuration: {}
  - id: input#CH12
    channelTypeUID: velbus:trigger-channel
    label: Alarm 2 Enable
    description: ""
    configuration: {}
  - id: button#CH12
    channelTypeUID: velbus:button-channel
    label: Alarm 2 Enable
    description: ""
    configuration: {}
  - id: feedback#CH12
    channelTypeUID: velbus:ledFeedback
    label: Alarm 2 Enable
    description: Feedback LED for the push button in Velbus
    configuration: {}
  - id: input#CH13
    channelTypeUID: velbus:trigger-channel
    label: Slow Fade up
    description: ""
    configuration: {}
  - id: button#CH13
    channelTypeUID: velbus:button-channel
    label: Slow Fade up
    description: ""
    configuration: {}
  - id: feedback#CH13
    channelTypeUID: velbus:ledFeedback
    label: Slow Fade up
    description: Feedback LED for the push button in Velbus
    configuration: {}
  - id: input#CH14
    channelTypeUID: velbus:trigger-channel
    label: Heat Mpde
    description: ""
    configuration: {}
  - id: button#CH14
    channelTypeUID: velbus:button-channel
    label: Heat Mpde
    description: ""
    configuration: {}
  - id: feedback#CH14
    channelTypeUID: velbus:ledFeedback
    label: Heat Mpde
    description: Feedback LED for the push button in Velbus
    configuration: {}
  - id: input#CH15
    channelTypeUID: velbus:trigger-channel
    label: Cooling Mode
    description: ""
    configuration: {}
  - id: button#CH15
    channelTypeUID: velbus:button-channel
    label: Cooling Mode
    description: ""
    configuration: {}
  - id: feedback#CH15
    channelTypeUID: velbus:ledFeedback
    label: Cooling Mode
    description: Feedback LED for the push button in Velbus
    configuration: {}
  - id: input#CH16
    channelTypeUID: velbus:trigger-channel
    label: Day Mode 2 hrs
    description: ""
    configuration: {}
  - id: button#CH16
    channelTypeUID: velbus:button-channel
    label: Day Mode 2 hrs
    description: ""
    configuration: {}
  - id: feedback#CH16
    channelTypeUID: velbus:ledFeedback
    label: Day Mode 2 hrs
    description: Feedback LED for the push button in Velbus
    configuration: {}
  - id: input#CH21
    channelTypeUID: velbus:trigger-channel
    label: Push button 21
    description: ""
    configuration: {}
  - id: button#CH21
    channelTypeUID: velbus:button-channel
    label: Push button 21
    description: ""
    configuration: {}
  - id: feedback#CH21
    channelTypeUID: velbus:ledFeedback
    label: Push button 21
    description: Feedback LED for the push button in Velbus
    configuration: {}
  - id: input#CH22
    channelTypeUID: velbus:trigger-channel
    label: Main Light 4 hou
    description: ""
    configuration: {}
  - id: button#CH22
    channelTypeUID: velbus:button-channel
    label: Main Light 4 hou
    description: ""
    configuration: {}
  - id: feedback#CH22
    channelTypeUID: velbus:ledFeedback
    label: Main Light 4 hou
    description: Feedback LED for the push button in Velbus
    configuration: {}
  - id: input#CH23
    channelTypeUID: velbus:trigger-channel
    label: Push button 23
    description: ""
    configuration: {}
  - id: button#CH23
    channelTypeUID: velbus:button-channel
    label: Push button 23
    description: ""
    configuration: {}
  - id: feedback#CH23
    channelTypeUID: velbus:ledFeedback
    label: Push button 23
    description: Feedback LED for the push button in Velbus
    configuration: {}
  - id: input#CH24
    channelTypeUID: velbus:trigger-channel
    label: Push button 24
    description: ""
    configuration: {}
  - id: button#CH24
    channelTypeUID: velbus:button-channel
    label: Push button 24
    description: ""
    configuration: {}
  - id: feedback#CH24
    channelTypeUID: velbus:ledFeedback
    label: Push button 24
    description: Feedback LED for the push button in Velbus
    configuration: {}
  - id: input#CH25
    channelTypeUID: velbus:trigger-channel
    label: Push button 25
    description: ""
    configuration: {}
  - id: button#CH25
    channelTypeUID: velbus:button-channel
    label: Push button 25
    description: ""
    configuration: {}
  - id: feedback#CH25
    channelTypeUID: velbus:ledFeedback
    label: Push button 25
    description: Feedback LED for the push button in Velbus
    configuration: {}
  - id: input#CH26
    channelTypeUID: velbus:trigger-channel
    label: Push button 26
    description: ""
    configuration: {}
  - id: button#CH26
    channelTypeUID: velbus:button-channel
    label: Push button 26
    description: ""
    configuration: {}
  - id: feedback#CH26
    channelTypeUID: velbus:ledFeedback
    label: Push button 26
    description: Feedback LED for the push button in Velbus
    configuration: {}
  - id: input#CH27
    channelTypeUID: velbus:trigger-channel
    label: FR as Bedroom
    description: ""
    configuration: {}
  - id: button#CH27
    channelTypeUID: velbus:button-channel
    label: FR as Bedroom
    description: ""
    configuration: {}
  - id: feedback#CH27
    channelTypeUID: velbus:ledFeedback
    label: FR as Bedroom
    description: Feedback LED for the push button in Velbus
    configuration: {}
  - id: input#CH28
    channelTypeUID: velbus:trigger-channel
    label: Lounge as Bedroo
    description: ""
    configuration: {}
  - id: button#CH28
    channelTypeUID: velbus:button-channel
    label: Lounge as Bedroo
    description: ""
    configuration: {}
  - id: feedback#CH28
    channelTypeUID: velbus:ledFeedback
    label: Lounge as Bedroo
    description: Feedback LED for the push button in Velbus
    configuration: {}
  - id: input#CH29
    channelTypeUID: velbus:trigger-channel
    label: House Bell
    description: ""
    configuration: {}
  - id: button#CH29
    channelTypeUID: velbus:button-channel
    label: House Bell
    description: ""
    configuration: {}
  - id: feedback#CH29
    channelTypeUID: velbus:ledFeedback
    label: House Bell
    description: Feedback LED for the push button in Velbus
    configuration: {}
  - id: input#CH30
    channelTypeUID: velbus:trigger-channel
    label: ALL OFF
    description: ""
    configuration: {}
  - id: button#CH30
    channelTypeUID: velbus:button-channel
    label: ALL OFF
    description: ""
    configuration: {}
  - id: feedback#CH30
    channelTypeUID: velbus:ledFeedback
    label: ALL OFF
    description: Feedback LED for the push button in Velbus
    configuration: {}
  - id: input#CH31
    channelTypeUID: velbus:trigger-channel
    label: Cabin OFF
    description: ""
    configuration: {}
  - id: button#CH31
    channelTypeUID: velbus:button-channel
    label: Cabin OFF
    description: ""
    configuration: {}
  - id: feedback#CH31
    channelTypeUID: velbus:ledFeedback
    label: Cabin OFF
    description: Feedback LED for the push button in Velbus
    configuration: {}
  - id: input#CH32
    channelTypeUID: velbus:trigger-channel
    label: Cabin Bell
    description: ""
    configuration: {}
  - id: button#CH32
    channelTypeUID: velbus:button-channel
    label: Cabin Bell
    description: ""
    configuration: {}
  - id: feedback#CH32
    channelTypeUID: velbus:ledFeedback
    label: Cabin Bell
    description: Feedback LED for the push button in Velbus
    configuration: {}

the Code for the Group Item for the Lounge Thermostat looks like this

label: Lounge Thermostat
type: Group
category: heating
groupNames:
  - gLounge
tags:
  - HVAC
groupType: None
function: None

Which looks like this is Google Home


The Mode mapping is important and it works
Heat = Day (or Comfort)
Eco = Night
Off = Safe

But where that Text file mapping is shown in MainUI is a mystery to me.

I’m not sure if this helps you at all, but the MainUI shows this when I open the Lounge Thermostat group

Hey,

Thanks for your reply, i’ve been trying to mimic this as much as possible but without any result.
The mapping of those heating modes to Google Home can be found in the metadata menu of your gLounge group > Google Assistant > Thermostat Modes
There I filled in this value, similar to yours: off=SAFE,heat=DAY:COMFORT,eco=NIGHT,on=DAY

But the behaviour stays the same. I can’t change my target temperature, same for the heating modes.

Can I suggest you do it with a text file, just so you can be 100% clear that what you have configured is identical to what I have working here? (and on other client site)

Once you have it set in a Text file and working, you can look at migrating that to the Mainui method, unfortunately, I can’t help with that as it’s just not what I do to get the basics working.
(imagine all those screen clicks when there are hundreds of items to add, where a copy, paste and sectional text editing can be done in a fraction of the time.
I'm also not 100% sure how everything relates to each other in the MainUI, when it seems so very clear in Text form)

What I am trying to achieve is to identify if the issue is :-

  • With the way the Velbus thermostat is set up within openHAB?
  • Are the MetaTags correct for Google?
  • Can you adjust the target temperatures correctly within openHAB
  • Is is something as silly as the exact utterances to Google

I’m really sorry that this is taking so much effort, it really shouldn’t be this difficult.

Just as a reference

I have tried a series of commands with Google to prove out my own configuration.
The utterances aren’t intuitive, but they seem to work

“Ok Google, What is the temperature in the Lounge”
Google responds with the correct temperature and says the target temperature is 14Âş and the mode is "ECO"

“Ok Google, Set the Lounge Target temperature to 20º”
Google responds "Lounge set to 20Âş"

“Ok Google, Set the lounge thermostat to HEAT mode”
Google Responds, "Lounge set to HEAT mode"

“Ok Google, Switch off Lounge thermostat”
Google responds, "Lounge Thermostat turned OFF"

“Ok Google, Set the Lounge thermostat to 19º”
Google responds, "Lounge set to 19Âş" (But leaves the Velbus thermostat in AntiFreeze mode, just with a new temporary target temperature)

“Ok Google, Turn off the heating in the lounge”
Google responds "Lounge heating turned off" Which just calls the AntiFreeze mode again, which resets the thermostat back to the correct target temp for that mode. EG 12Âş

FYI

If I change the mode or target within openHAB, the new state doesn’t seem to be pushed into Google Home.
However, going back and re-entering the Google Home thermostat does poll the Velbus thermostat and returns the correct (albeit mapped) values.

Thanks! That breakdown via the Google Commands actually helped a lot.
In my openHab I can indeed change all values without any issues. But looking at the logs it was really that mapping part that went wrong.

I think I found a bug in the openHab UI where it puts the mapping string under a “modes” key in the meta data > Google Assistant config of the thermostat group. This has to be thermostatMode since v4.0.0 according to the docs.
Changing it in the code part to

thermostatModes: heat=DAY:COMFORT,eco=NIGHT,off=SAFE

… works like a charm :slight_smile: it doesn’t exactly does what your setup does. When asking for the current temperature, my assistant only replies with the current thermostat mode. But in the app it works ok now

1 Like

I’m glad that you are a massive step forward.

Try adding an ON map to that, so that when you ask Google to Switch it ON, it has a mode to use,

thermostatModes: heat=DAY:COMFORT,eco=NIGHT,off=SAFE, on=DAY

As for the current temp, have you got that Item included in the Group, with the correct Google tag? ga="thermostatTemperatureAmbient" (does the app widget show the current temperature?)

Group 	Lounge_Thermostat				"Lounge Thermostat" 				<heating> 		(gLounge)			 ["HVAC"]													{ga="thermostat" [thermostatModes="off=SAFE,heat=DAY:COMFORT,eco=NIGHT,on=DAY", roomHint=" Lounge"], alexa="Endpoint.Thermostat" }
	Number 	Lounge_CurrentTemperature 		"Lounge Current Temperature" 		<temperature>	(Lounge_Thermostat, WholeHouse_CurrentTemperature)			["HVAC"]	{channel="velbus:vmbgpod:VelbusNetworkBridge:2C:input#CH33"								,	ga="thermostatTemperatureAmbient" 	,	alexa="TemperatureSensor.temperature" }
	Number 	Lounge_CurrentTargetTemperature	"Lounge Current Target Temperature"	<heating>		(Lounge_Thermostat, WholeHouse_CurrentTargetTemperature)	["HVAC"]	{channel="velbus:vmbgpod:VelbusNetworkBridge:2C:thermostat#currentTemperatureSetpoint"	, 	ga="thermostatTemperatureSetpoint"	,	alexa="ThermostatController.targetSetpoint"}