ESPHome + ESP8266 + HD44780 - naprzemienne wyświetlanie danych

Moje pierwsze podejście z wyświetlaczem na ESP8266.
Szukam rozwiązania jak naprzemiennie wyświetlić różne dane na HD44780.
“Pages” nie działa:

[pages] is an invalid option for [display.lcd_pcf8574]. Please check the indentation.

Nie mogę znaleźć przykładów w sieci a moja wiedza w temacie marna.
W dokumentacji nic nie mogę znaleźć.
Jakieś pomysły?

substitutions:
  device: "esp-termostat"
  device_name: "ESP termostat"

esphome:
  name: ${device}
  platform: ESP8266
  board: nodemcuv2

logger:
  esp8266_store_log_strings_in_flash: false

ota:
  password: !secret esp_ota_password

wifi:
  networks:
  - ssid: !secret wifi_ssid
    password: !secret wifi_password
  - ssid: Cinek
    password: "xxx"
  power_save_mode: light
  ap:
    ssid: ${device}
    password: "xxx"

captive_portal:

api:

web_server:
  port: 80
  version: 1
  
i2c:
  sda: D2
  scl: D1
  scan: true

dallas:
  - pin: D7

text_sensor:
  - platform: wifi_info
    ip_address:
      name: "${device_name} IP"
      icon: mdi:ip-network
      id: esp_ip

sensor:
  - platform: dallas
    address: 0x7531a00d1e64ff28
    name: "Czujnik temperatury"
    id: dallas_1

switch:
  - platform: gpio
    name: "Przekaznik"
    id: relay_1
    pin:
      number: D6
      inverted: False

climate:
  - platform: bang_bang
    name: "Bang Bang Climate Controller"
    sensor: dallas_1
    default_target_temperature_low: 2 °C
    default_target_temperature_high: 3 °C

    cool_action:
      - switch.turn_on: relay_1
    idle_action:
      - switch.turn_off: relay_1

    visual:
      min_temperature: 0
      max_temperature: 30
      temperature_step: 0.5

display:
  - platform: lcd_pcf8574
    dimensions: 16x2
    address: 0x27
    id: display_1
    lambda: |-
      it.print("IP:");
      it.print(3, 0, id(esp_ip).state);
      it.printf(0, 1, "Temp: %.1f", id(dallas_1).state);

Próbowałeś tym sposobem?

Ten wyświetlacz stron sprzętowo nie obsługuje, ale można to obejść programowo np. tak (nie testowałem)

a tu masz inny przykład z innego (jednoliniowego, więc adresowanie pozycji jest inne) wyświetlacza też bez stron - normalnie wyświetla zegar, ale raz na jakiś czas (4x /min) temperaturę, jeśli sobie zmodyfikujesz to taki trik zadziała też z HD44780

update_interval: 500ms

  lambda: |-
      static int i = 0;
      i++;
      if ((i % 15) == 0)
        it.printf(0,"%02i",id(mytemperature)); 
        it.printf(2,"~C");
      else
        it.strftime("%H.%M", id(sntp_time).now());

jeszcze jeden przykład (też z tm1637)

Dzięki panowie za naprowadzenie.
W oficjalnej dokumentacji szukałem pod kątem HD44780 a trzeba było lcd_pcf8574 :slight_smile:

zobacz jak mam w innych wyświetlaczu rozpisane display:

hapage odpowiada za konkretną stronę, ja mam jako pomocnik w HA i zmieniam go przez NR
może cos z tego ulepisz :stuck_out_tongue: