Honeywell Lyric Thermostat

Yeah, there is a lot of functionality I can not test because it is not supported here.

Dual set points/auto mode, fans, cooling, USA schedules.

The documentation is not clear on what info I can expect when etc…

I can help you with the documentation and test out some of the features that I am familiar with.

I manually changed the temperature from the Lyric app and then tried climate.lyric_resume_program with the attributes {"entity_id": "climate.lyricmaster"}, but it did nothing.

Same for changing temperature. Even after I change the temperature using the card or service climate.set_temperature with {"entity_id":"climate.lyricmaster", "temperature":"70"} does nothing.

There is nothing in the logs either. I was hoping that lyric_resume_program will resume the schedule.

Hi, Even I got the Lyric component working for Home assistant . I see the values at my end but I am not able to set the values to the same. Interesting thing that if we look at the Log stash , we can see the request go and it is successful with the authentication.

17-08-10 16:45:34 INFO (MainThread) [homeassistant.components.http] Serving /api/history/period to 130.20.173.231 (auth: True)
17-08-10 16:45:34 DEBUG (MainThread) [homeassistant.components.history] Extracted 7 states in 0.014644s
17-08-10 16:45:38 DEBUG (MainThread) [homeassistant.components.websocket_api] WS 4468710928: Received {‘type’: ‘call_service’, ‘domain’: ‘climate’, ‘service’: ‘set_temperature’, ‘service_data’: {‘temperature’: 82, ‘entity_id’: ‘climate.lyric’}, ‘id’: 10}
17-08-10 16:45:38 INFO (MainThread) [homeassistant.core] Bus:Handling <Event call_service[L]: domain=climate, service=set_temperature, service_data=temperature=82, entity_id=climate.lyric, service_call_id=4405766464-1>

Could you share the outcome of debug? The line with the json string.

Bram_Kragten thanks for all the work you’ve been doing. I finally got it working after a few tries with the Lyric T5. The only thing I noticed is that whenever I use HA to manually change the temperature it changes the mode from “cool” to “heat” when you increase the temperature, and from “heat” to “cool” if I lower it. I live in Florida, so I have no need for ever turning on the heater :slight_smile:

I have fixed this in the python-lyric package.

Are you sure you are using the right entity_id? In your logs it says climate.lyric_t5_thermostat

And it should be an integer and not a string:
{"entity_id":"climate.lyricmaster", "temperature":70}

The set_temperature service is also used by the UI so would be weird if that’s not working.

Try the new python-lyric package changed something specific for the round.
But not sure what autoChangeoverActive does or need to be.

I renamed the thermostat to climate.lyricmaster. Also, when you say upgrade the lyric package, I am assuming you want us to run pip install https://github.com/bramkragten/python-lyric/archive/master.zip#python-lyric==0.0.7 --upgrade?

Did found there was a delay of max 5 minutes (cache time) before the component realized the hold mode was changed, so it didn’t fire anything. I now just always fires it with the new version.

Or just copy the new component files, it is bumped to 0.0.8 now.

Excellent…I am now able to change the temperature from the UI and then resume schedule using climate.lyric_resume_program. Also, Lyric responds much faster :+1:

1 Like

The Away mode always stays on away_mode: on in my case even when currentSchedulePeriod: Wake. Not sure if that is the expected behavior.

Haven’t looked into that yet, it now still only reflects the state of geofence.

If you tell me what you want, and can give me your json string I’ll try to make it do that :slight_smile:

I’m fairly new to linux, github, and docker :disappointed_relieved: I don’t recall seeing instructions on how to use the python-lyric package? Is there a command I should be running to get the package installed? I’m using a docker container, not sure if that would also make a difference on how to use it. Thanks.

Just grab the new:

https://raw.githubusercontent.com/bramkragten/home-assistant/lyric/homeassistant/components/lyric.py
https://raw.githubusercontent.com/bramkragten/home-assistant/lyric/homeassistant/components/climate/lyric.py

Restart Hass and it will update python-lyric for you.

(or you could run pip install https://github.com/bramkragten/python-lyric/archive/master.zip --upgrade)

Like for other thermostat, the away mode should indicate if the thermostat is in Away mode. If it is in any of the other modes, away should be off. For example, in my Ecobee, there are three modes climate_list: Away,Home,Sleep and the current mode is reflected in the attribute mode: Home. There is another attribute away_mode: off that indicates where the thermostat is in away mode or not. BTW…here are attributes for my Ecobee for replication

operation_list: auto,auxHeatOnly,cool,heat,off
away_mode: off
fan_min_on_time: 10
temperature: null
fan: off
operation: idle
target_temp_high: 81
current_temperature: 79
unit_of_measurement: °F
min_temp: 45
target_temp_low: 71
actual_humidity: 52
operation_mode: auto
entity_picture: /local/Ecobee.png
mode: Home
aux_heat: off
climate_list: Away,Home,Sleep
max_temp: 95
friendly_name: EcobeeDown
homebridge_hidden: true

In the json response, I see 'currentSchedulePeriod': {'period': 'Wake', 'day': 'Monday'} which is the current mode.Just to be consistent, we should add mode as another attribute, which will take the value Wake in this case. Also, away_mode should be off unless 'period': 'Away'.