Esphome i menu / podmenu wyswietlacza lcd1602 / 2004

Zdaje sobie sprawę ze ustawienia przesylane do wyswietlacza mogą być błędne ale to tylko na czas testów. Np. Mieszkanie1 docelowo ulica np. “Wielka” itp.
W innym moim poście “zaktom” pomógł rozwiązać problem zmiany stron

Jednak przy tym rozwiazaniu z encoderem i menu mogę sie poruszać i wyświetlać tylko część danych.

Pewnie wynika to z tych ustawień

on_enter:
          then:
            lambda: 'ESP_LOGI("display_menu", "enter: %s", it->get_text().c_str());'
        on_leave:
          then:
            lambda: 'ESP_LOGI("display_menu", "leave: %s", it->get_text().c_str());'
        items:
          - type: back
            text: 'Back'
          - type: label
            text: !lambda |-
              return id(esp_ip_address).state.c_str();
          - type: label
            text: 'inne dane woda1'
#             it.printf(0, 0, "Woda1 :%.1f m3", id(woda1).state);
#             it.printf(0, 1, "Woda2 :%.1f m3", id(woda2).state);
#             return id(some_sensor).state / 100.0;

gdzie
lambda: ‘ESP_LOGI(“display_menu”, “enter: %s”, it->get_text().c_str());’
pozwala wyswietlić tylko return id(esp_ip_address).state.c_str();
natomiast innych zmiennych nie id(woda1).state); lub id(time_sntp).now());

Ewentualnie jak to można zmienić.
Przeszukałem wiele stron zanim zamieściłem posta i faktycznie informacji o menu i submenu dla Esphome nie znalazłem jest zatem sporo na arduino ale nietedy droga. Jak widać na zdjeciu można dane wyświetlić ale jak dodać inne próbowałem na różne sposoby ale jestem za słaby nawet ja Validate przechodzi to wysypuje sie przy instalacji i wyswietla blad conversji

/config/esphome/esphome-web-6889a8.yaml: In lambda function:
/config/esphome/esphome-web-6889a8.yaml:161:21: error: could not convert 'woda1->esphome::sensor::Sensor::state' from 'float' to 'std::__cxx11::string' {aka 'std::__cxx11::basic_string<char>'}
               return id(woda1).state);
               ~~~~~~^~~~~
/config/esphome/esphome-web-6889a8.yaml:161:26: error: expected ';' before ')' token
               return id(woda1).state);
                          ^
                          ;
/config/esphome/esphome-web-6889a8.yaml:161:26: error: expected primary-expression before ')' token
*** [.pioenvs/esphome-web-6889a8/src/main.cpp.o] Error 1
========================= [FAILED] Took 25.24 seconds =========================
          - type: label
            text: !lambda |-
              return id(esp_ip_address).state.c_str();
          - type: label
            text: !lambda |-
              return id(woda1).state);
#             it.printf(0, 1, "Woda2 :%.1f m3", id(woda2).state);
#             return id(some_sensor).state / 100.0;