Having to re add two esphome devices on restart

I have two esphome esp32 devices that show as unavailable after a restart and I then have to delete them from integrations and then readd them.

They are the only esp32 devices I have the rest are all esp8266, so I wonder if I am missing something obvious?

esphome:
  name: school-reminders
  platform: ESP32
  board: esp32dev
  
logger:
  

# Enable Home Assistant API
api:

ota:
  password: "xxxxxxxxxxx"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  manual_ip:
    static_ip: 192.168.1.150
    gateway: 192.168.1.1
    subnet: 255.255.255.0

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "School-Reminders"
    password: "xxxxxxxxx"

captive_portal:

esp32_ble_tracker:


text_sensor:
  - platform: homeassistant
    id: school
    name: school
    entity_id: input_text.boys_school
    internal: true
    on_value:
     then:
      - logger.log: "Hello World"

    # Formatted:
      - logger.log:
          format: "The school reminders show as %s "
          args: [ 'id(school).state.c_str()' ]



i2c:
  sda: 21
  scl: 22

display:
  - platform: lcd_pcf8574
    dimensions: 20x4
    address: 0x27
    lambda: |-
      std::string str = id(school).state;
      std::vector<std::string> v;
      char * token;
      char seps[] = ",";
      token = strtok (&str[0],seps);
      while (token != NULL)
      {
        v.push_back(token);
        token = strtok (NULL, seps);
      }
      int n=0;
      for ( std::string s : v ) {
          
          it.printf(0, n,"%s", s.c_str());
          n++;
      }

switch:
  - platform: gpio
    pin: GPIO4
    name: "Joseph_trip"
    id: Joseph_trip
    
  - platform: gpio
    pin: GPIO13
    name: "Jacob_in"
    id: Jacob_in
 
  - platform: gpio
    pin: GPIO15
    name: "Joseph_in"
    id: Joseph_in
      
  - platform: gpio
    pin: GPIO14
    name: "Jacob_out"
    id: Jacob_out
 
  - platform: gpio
    pin: GPIO16
    name: "Joseph_out"
    id: Joseph_out

  - platform: gpio
    pin: GPIO17
    name: "Jacob_club"
    id: Jacob_club
    
  - platform: gpio
    pin: GPIO18
    name: "Joseph_club"
    id: Joseph_club
    
  - platform: gpio
    pin: GPIO5
    name: "Jacob_project"
    id: Jacob_project
    
  - platform: gpio
    pin: GPIO23
    name: "Joseph_project"
    id: Joseph_project
    
  - platform: gpio
    pin: GPIO19
    name: "Jacob_trip"
    id: Jacob_trip
    
  - platform: gpio
    pin: GPIO26
    name: "today"
    id: today
    
  - platform: gpio
    pin: GPIO25
    name: "tomorrow"
    id: tomorrow
    
binary_sensor:
  - platform: gpio
    id: switch_day
    name: "Switch_day"
    filters:
      - delayed_off: 500ms
    pin:
      number: GPIO33
      inverted: true
      mode:
        pullup: true
        input: true

Thanks in advance

No logs, no issue

Esphome logs