Honeywell Lyric Thermostat

You can also see these in the attributes of your climate entity.
What are the values your schedule and schedule sub attributes?

And what do you want to do when you turn away mode off?

Here are the current climate.lyricmaster attributes:

currentScheduleDay: Monday
min_temp: 65
entity_picture: /local/lyric.png
operation_list: off,heat,cool,auto
vacation: false
current_temperature: 74
unit_of_measurement: Ā°F
hold_mode: NoHold
operation_mode: cool
currentSchedulePeriod: Wake
schedule_sub: NA
max_temp: 80
schedule: Timed
away_mode: on
temperature: 79
friendly_name: LyricMaster
homebridge_hidden: true

away_mode is special, in that we can use it for automation, i.e., when no one is home set it to away where the thermostat will not waste energy heating or cooling since no one is home. Both Ecobee and Nest allow us to manually change to Away modeā€¦donā€™t think that is an option for Lyric. We need to think through this. You know how does geofencing work in Lyric? Does it turn off the thermostat when no one is off?

Can we change the hold_mode from HA? In that case, we can hold the temperature to a certain level, may be through an automation.

Yes, the Lyric has its own mechanisme for this, you define a geofence, and when someone is within this region it sets it to a setpoint, when no one is inside it, it sets it to a different setpoint. And there is a setpoint for night time.

Yes you can set the hold_mode; PermanentHold, HoldUntil, NoHold, VacationHold

Okā€¦so looks like using automations may be the best approach. What do you think?

But, the away_mode should still be updated. It cannot be on when it is not in away_mode.

Newest version of python-lyric will show the right away status (version is not bumped so needs a reinstall)

Coolā€¦will wait for the version bump. In the meantime, I will create the automations.

The version is bumped.

Excellentā€¦updated and testing. BTW, I added the following to my away script (will change and hold the setpoint depending on whether it is summer or winter)

      - service: climate.set_temperature
        data_template:
          entity_id: climate.lyricmaster
          temperature: >-
            {%- if states.sensor.pws_temp_f.state|int > 75 -%}
              83
            {%- else -%}
              66
            {%- endif -%}
      - service: climate.set_hold_mode
        data:
          entity_id: climate.lyricmaster
          hold_mode: 'PermanentHold'

and the following to my home script (resume program):

      - service: climate.lyric_resume_program
        data:
          entity_id: climate.lyricmaster

Will test it out and let you know, but does that look reasonable?

You can also define your own away periods now.
Especially handy for the EMEA versions that donā€™t have away but an unlimited amount of periods: P1, P2, P3, P4, P5, etcā€¦

If you donā€™t specify it, it will take P3 as away by default for EMEA

lyric:
  client_id: xxxx
  client_secret: xxxxx
  away_periods:
    - 'P2'
    - 'P3'
    - 'Away'

Think that is unique to EMEA versions. The US version only four predefined periods - Wake, Home, Away, Sleep.

Yes, looks good!

Yes, for NA it just takes the Away period as default. But you could still override that with Away and Sleep for instance.

Not sure I understand what you mean by ā€œstill override that with Away and Sleep for instanceā€.

If you want it to show away in both the Away and Sleep period.

Ok. I will let you know how the automations work when my wife leaves to pick the kids :slight_smile:

Can we get consolidated install instructions? I get errors unique to me when I piece things together as best as I can interpret and assemble based upon what above. Anything past 0.0.3 fails for me.

Providing the errors might help :wink:

It is very simple:

Place these files
lyric.py
climate/lyric.py
climate/services.yaml
in your custom_components folder.

And put this in your config:

lyric:
  client_id: xxxx
  client_secret: xxxxx

That should be it.

I think you should add these to your readme as well :slight_smile:

Hey ! Just got back to work . @Bram_Kragten Are you saying that the issue what was going on has been resolved ? Or do you still want me to share the Json string for you to look at ?