ESP32 und ST7735S

Hallo ich bin langsam am verzweifeln…
ich versuche ein ST7735S an einem ESP32 auf Esphome zu betreiben,
leider zeigt mir das Display zwar eine Anzeige an aber leider nicht aktuellen Wert des Sensors - hat jemand eine Ahnung an was das liegen könnte ?
ESP8266 wurde auch schon probiert- das gleiche

Das zeigt der Log an

[17:33:54][W][component:240]: Components should block for at most 30 ms.
[17:33:55][W][component:239]: Component display took a long time for an operation (157 ms).
[17:33:55][W][component:240]: Components should block for at most 30 ms.

hier der Code:

esphome:
  name: esp32display
  friendly_name: ESP32Display

esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "YKlmdVT4BboIr4zRTw3GZho+lnyXA8n3o68hFco9RuQ="

ota:
  platform: esphome
  password: "eb2e6e016da949d8dbbae9e804b8d35c"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  
  manual_ip:
    static_ip: 10.0.0.157
    gateway: 10.0.0.138
    subnet: 255.255.255.0

  ap:
    ssid: "Esp32Display Fallback Hotspot"
    password: "8WCPsHDrjbIT"

captive_portal:

spi:
  clk_pin: GPIO22
  mosi_pin: GPIO21

time:
  - platform: homeassistant
    id: esptime
    timezone: Europe/Amsterdam

font:
  - file: "gfonts://Roboto"
    id: roboto
    size: 16
  - file: "gfonts://Roboto"
    id: roboto_large
    size: 32

sensor:
  - platform: homeassistant
    id: inside_temperature
    entity_id: sensor.gw1100a_indoor_temperature
    internal: true
    


display:
  - platform: st7735
    model: "INITR_18BLACKTAB"
    reset_pin: GPIO4
    cs_pin: GPIO23
    dc_pin: GPIO15
    rotation: 90
    id: display1
    device_width: 128
    device_height: 160
    col_start: 0
    row_start: 0
    eight_bit_color: true
    update_interval: 800ms
    lambda: |-
      it.fill(Color(0, 0, 0));  // Hintergrund schwarz
      // Uhrzeit zentriert anzeigen
      it.strftime(it.get_width() / 2, 50, id(roboto_large), Color(255, 0, 0), TextAlign::CENTER, "%H:%M:%S", id(esptime).now());
      // Temperatur unten anzeigen
      it.printf(it.get_width() / 2, 110, id(roboto), Color(255, 255, 255), TextAlign::CENTER, "%.1f °C", id(inside_temperature).state);

Versuch mal das update_interval aus 2s zu setzen

hab schon alles probiert… kann es am Display selbst liegen?