ESPHOME / DISPLAY Update_Interval - various

Hello,

is it possible to set the update intervall between
8:00 - 22:00 to 60s
22:00 - 8.00 to 300s
?

display:
  - platform: waveshare_epaper
    id: epaperdisplay
    cs_pin: 15
    dc_pin: 12
    update_interval: 30s
    busy_pin: 16
    reset_pin: 4
    model: 4.20in
    lambda: |-
....

You’d set update_interval: to never and then use component.update to refresh it using a on_time: or interval: trigger which has the necessary conditions.

Not sure if the same can be done for full_update_every.

1 Like

thx. at the moment in dont know exactly what you mean.

is this perhaps possible?

       if (id(homeassistant_time).now().hour > 8 & < 22) {
        update_interval: 60s
        } else {
          update_interval: 300s
        }

Edit: not possible


error: unable to find numeric literal operator ‘operator""s’

display:
  - platform: waveshare_epaper
    id: epaperdisplay
    cs_pin: 15
    dc_pin: 12
    busy_pin: 16
    reset_pin: 4
    model: 4.20in
    lambda: |-

      if (id(homeassistant_time).now().hour > 8 & id(homeassistant_time).now().hour < 22) {
        update_interval: 60s
        } else {
          update_interval: 300s
        }

seems that this works:

time:
  - platform: homeassistant
    id: homeassistant_time
    timezone: Europe/Berlin
    on_time:
      - seconds: 0
        minutes: /1 # Update jede Minute
        hours: 8-22
        then:
          - component.update: epaperdisplay
      - seconds: 0
        minutes: /30 # Update alle 30 Minuten
        hours: 0-7, 23
        then:
          - component.update: epaperdisplay
3 Likes