Closed regicsolutions closed 3 years ago
Hi,
This is not a problem with the frontend, so this is the wrong repo.
Besides that, you don't provide much info. Provide the state of the devices and if they do update in Google when you change them from Home Assistant.
Also enable debugging and provide some logs.
elkm1 documentation elkm1 source (message by IssueLinks)
Hey there @gwww, @bdraco, mind taking a look at this issue as its been labeled with an integration (elkm1
) you are listed as a codeowner for? Thanks!
(message by CodeOwnersMention)
Both thermostats fully work in home assistant but not in google home. The only thing I am able to do in google home is check the current temp and change the mode from off to either cool or heat, issue is I'm not able to increase or decrease the temp in google home, when I try, there is no change on the thermostat and on the google home app it just sets itself back to 32 degrees.
Debug logs would be useful. Be sure to trim them down to the bare minimum. Here's the config to use:
logger:
default: info
logs:
custom_components.elkm1: debug
elkm1_lib: debug
two Omnistat2 Thermostat's connected to my elk m1
I assume they are connected via an ELK-M1XSP board?
When you manually control either of the two thermostats (i.e. set the temperature, or operating mode, or fan mode) does that manual change get reported to Home Assistant?
@tdejneka correct, they are both connected to a M1XSP. Only the 'mode' gets reported to homeassistant not when i change it from what's defaulted by google home '32 degrees' to let's say 60 does not get reported...
@gwww i added the debug logging and here's the output:
When i change the mode from Heat to Off in Google Home:
2020-11-29 17:33:16 DEBUG (MainThread) [elkm1_lib.elk] got_data '28SS00000000000000000000M00000000000000013'
Change mode from Off to Heat in Google Home:
2020-11-29 17:35:10 DEBUG (MainThread) [elkm1_lib.proto] write_data '0Bts010100055'
2020-11-29 17:35:10 DEBUG (MainThread) [elkm1_lib.elk] got_data '13TR01100676271000007'
2020-11-29 17:35:11 DEBUG (MainThread) [elkm1_lib.elk] got_data '28SS00000000000000000000M00000000000000013'
2020-11-29 17:35:12 DEBUG (MainThread) [elkm1_lib.elk] got_data '2AT281008100000000000000000000000000000000D5'
Try to increase heat from default 32 degrees to 70 in Google Home:
2020-11-29 17:39:48 DEBUG (MainThread) [elkm1_lib.elk] got_data '28SS00000000000000000000H00000000000000018'
2020-11-29 17:39:49 DEBUG (MainThread) [elkm1_lib.elk] got_data '28SS00000000000000000000M00000000000000013'
Try to increase heat from correct default 62 to 66 degrees in Home Assistant App (works as expected):
2020-11-29 17:41:05 DEBUG (MainThread) [elkm1_lib.proto] write_data '0Bts016650045'
2020-11-29 17:41:05 DEBUG (MainThread) [elkm1_lib.proto] write_data '0Bts01714004A'
2020-11-29 17:41:05 DEBUG (MainThread) [elkm1_lib.elk] got_data '13TR01100676671000003'
2020-11-29 17:41:05 DEBUG (MainThread) [elkm1_lib.elk] got_data '28SS00000000000000000000M00000000000000013'
2020-11-29 17:41:05 DEBUG (MainThread) [elkm1_lib.elk] got_data '13TR01100676671000003'
2020-11-29 17:41:05 DEBUG (MainThread) [elkm1_lib.elk] got_data '28SS00000000000000000000M00000000000000013'
Configuration for Google Assistant in Configuration.YML:
# Google Assistant
google_assistant:
project_id: my project name
service_account: !include SERVICE_ACCOUNT.json
report_state: true
secure_devices_pin: "XXXX"
exposed_domains:
- alarm_control_panel
- lock
- media_player
- switch
- light
- climate
- sensor
- input
- group
@bdraco do you know any reason that services that work fine directly in HA don't work when invoked through Google Assistant? It's clear from the logs that the services work (and from @regicsolutions comments). It's also clear that the Google Assistant stuff is not getting through in some cases.
I don't use Google Home so no experience here.
My only other thought on this is to turn on debug logs for Google Assistant.
@gwww
It looks like google needs SUPPORT_TARGET_TEMPERATURE
if command == COMMAND_THERMOSTAT_TEMPERATURE_SETPOINT:
temp = temp_util.convert(
params["thermostatTemperatureSetpoint"], TEMP_CELSIUS, unit
)
if unit == TEMP_FAHRENHEIT:
temp = round(temp)
if temp < min_temp or temp > max_temp:
raise SmartHomeError(
ERR_VALUE_OUT_OF_RANGE,
f"Temperature should be between {min_temp} and {max_temp}",
)
await self.hass.services.async_call(
climate.DOMAIN,
climate.SERVICE_SET_TEMPERATURE,
{ATTR_ENTITY_ID: self.state.entity_id, ATTR_TEMPERATURE: temp},
blocking=True,
context=data.context,
)
There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.
Checklist
The problem
I have two Omnistat2 Thermostat's connected to my elk m1 and they work perfect in the home assistant app but for some reason I'm unable to control them in the Google Home app. They just stay stuck on 32 degrees, when I try changing it, it resets it back to 32 degrees on the app but nothing ever happens on the thermostats. It does read the temp correctly but it's like it's in read-only mode...
![Uploading 100273939...]
Expected behavior
Same as home assistant app
Steps to reproduce
Environment
State of relevant entities
Problem-relevant configuration
Javascript errors shown in your browser console/inspector
Additional information