ESP32-C6 API error

Hello,

After the 2026.1.2 update, my ESP32-C6 is no longer communicating through the API. I don’t get any sensors with the config that I used before

CONFIG:

esp32:
  board: esp32-c6-devkitm-1
  framework:
    type: esp-idf

esphome:
  name: "jeep1esp"
  friendly_name: Jeep1ESP

safe_mode:
  num_attempts: 10
  reboot_timeout: 2min

api:
  reboot_timeout: 120s

ota:
  - platform: esphome
    password: !secret jeep1esp_ota

logger:
  level: VERBOSE
  logs:
    gps: INFO
    sensor: INFO

wifi:
  ssid: !secret wifi_sside
  password: !secret wifi_password
  fast_connect: True
  power_save_mode: NONE
  id: wifi1
  use_address: 192.168.45.101
  reboot_timeout: 0s
  post_connect_roaming: False


##############################################################
######################### UART setup #########################
##############################################################


uart:

  rx_pin: 23
  baud_rate: 9600
  id: gps_uart

#############################################################
######################### GPS setup #########################
#############################################################


gps:


  uart_id: gps_uart
  update_interval: 1s
  latitude:
    name: "Latitude"
    icon: "mdi:latitude"
    id: latitude
    accuracy_decimals: 6
    internal: False
  longitude:
    name: "Longitude"
    icon: "mdi:longitude"
    id: longitude
    accuracy_decimals: 6
    internal: False
  altitude:
    name: "GPS altitude"
    icon: "mdi:altimeter"
    accuracy_decimals: 0
    id: gps_altitude
    internal: False
  course:
    name: "GPS course"
    icon: "mdi:navigation"
    id: course
    accuracy_decimals: 2
    internal: False
  speed:
    name: "GPS speed"
    icon: "mdi:speedometer"
    id: gps_speed
    accuracy_decimals: 0
    filters:
      lambda: |-
            if (x > 1.6) { return x * 0.6213712; }
            else { return 0; }
    unit_of_measurement: mph
    internal: False
  satellites:
    name: "GPS satellites"
    icon: "mdi:satellite-variant"
    id: gps_satellites
    accuracy_decimals: 0
    internal: False

LOGS

[12:25:09.641][I][app:206]: ESPHome version 2026.1.2 compiled on 2026-01-29 12:24:05 -0600
[12:25:09.644][I][app:213]: ESP32 Chip: ESP32-C6 r0.1, 1 core(s)
[12:25:09.644][C][logger:316]: Logger:
[12:25:09.644][C][logger:316]:   Max Level: VERBOSE
[12:25:09.644][C][logger:316]:   Initial Level: VERBOSE
[12:25:09.649][C][logger:322]:   Log Baud Rate: 115200
[12:25:09.649][C][logger:322]:   Hardware UART: USB_SERIAL_JTAG
[12:25:09.649][C][logger:332]:   Task Log Buffer Size: 768 bytes
[12:25:09.649][C][logger:339]:   Level for 'gps': INFO
[12:25:09.671][C][logger:339]:   Level for 'sensor': INFO
[12:25:09.672][C][uart.idf:238]: UART Bus 0:
[12:25:09.672][C][uart.idf:152]:   RX Pin: GPIO23
[12:25:09.681][C][uart.idf:243]:   RX Buffer Size: 256
[12:25:09.681][C][uart.idf:243]:   RX Full Threshold: 8
[12:25:09.681][C][uart.idf:243]:   RX Timeout: 2
[12:25:09.681][C][uart.idf:249]:   Baud Rate: 9600 baud
[12:25:09.681][C][uart.idf:249]:   Data Bits: 8
[12:25:09.681][C][uart.idf:249]:   Parity: NONE
[12:25:09.681][C][uart.idf:249]:   Stop bits: 1
[12:25:09.681][C][wifi:1304]: WiFi:
[12:25:09.681][C][wifi:1304]:   Local MAC: 54:32:04:3E:23:68
[12:25:09.681][C][wifi:1304]:   Connected: YES
[12:25:09.692][C][wifi:1037]:   IP Address: 192.168.45.101
[12:25:09.692][C][wifi:1048]:   SSID: [redacted]
[12:25:09.692][C][wifi:1048]:   BSSID: [redacted]
[12:25:09.692][C][wifi:1048]:   Hostname: 'jeep1esp'
[12:25:09.692][C][wifi:1048]:   Signal strength: -55 dB ▂▄▆█
[12:25:09.692][C][wifi:1048]:   Channel: 6
[12:25:09.692][C][wifi:1048]:   Subnet: 255.255.255.0
[12:25:09.692][C][wifi:1048]:   Gateway: 192.168.45.1
[12:25:09.692][C][wifi:1048]:   DNS1: 192.168.45.1
[12:25:09.692][C][wifi:1048]:   DNS2: 0.0.0.0
[12:25:09.693][C][esphome.ota:075]: Over-The-Air updates:
[12:25:09.693][C][esphome.ota:075]:   Address: 192.168.45.101:3232
[12:25:09.693][C][esphome.ota:075]:   Version: 2
[12:25:09.714][C][esphome.ota:082]:   Password configured
[12:25:09.715][C][safe_mode:021]: Safe Mode:
[12:25:09.715][C][safe_mode:021]:   Successful after: 60s
[12:25:09.715][C][safe_mode:021]:   Invoke after: 10 attempts
[12:25:09.715][C][safe_mode:021]:   Duration: 120s
[12:25:09.715][C][safe_mode:038]:   Bootloader rollback: not supported
[12:25:09.716][C][api:221]: Server:
[12:25:09.716][C][api:221]:   Address: 192.168.45.101:6053
[12:25:09.716][C][api:221]:   Listen backlog: 4
[12:25:09.716][C][api:221]:   Max connections: 8
[12:25:09.716][C][api:233]:   Noise encryption: NO
[12:25:09.716][C][mdns:177]: mDNS:
[12:25:09.716][C][mdns:177]:   Hostname: jeep1esp
[12:25:09.721][V][mdns:182]:   Services:
[12:25:09.721][V][mdns:184]:   - _esphomelib, _tcp, 6053
[12:25:09.721][V][mdns:187]:     TXT: friendly_name = Jeep1ESP
[12:25:09.724][V][mdns:187]:     TXT: version = 2026.1.2
[12:25:09.724][V][mdns:187]:     TXT: mac = 5432043e2368
[12:25:09.724][V][mdns:187]:     TXT: platform = ESP32
[12:25:09.859][V][mdns:187]:     TXT: board = esp32-c6-devkitm-1
[12:25:09.859][V][mdns:187]:     TXT: network = wifi
[12:25:21.918][D][api:139]: Accept 192.168.40.101
[12:25:22.041][V][api.connection:1547]: Hello from client: 'aioesphomeapi' | 192.168.40.101 | API Version 1.14
[12:25:22.041][D][api.connection:2221]: aioesphomeapi (192.168.40.101): connected
[12:25:22.172][D][api.connection:2221]: aioesphomeapi (192.168.40.101): disconnected
[12:25:22.351][W][api.connection:2226]: aioesphomeapi (192.168.40.101): Reading failed CONNECTION_CLOSED errno=128
[12:25:22.351][V][api:192]: Remove connection aioesphomeapi
[12:25:22.361][D][api:139]: Accept 192.168.40.101
[12:25:22.544][V][api.connection:1547]: Hello from client: 'Home Assistant 2026.1.3' | 192.168.40.101 | API Version 1.14
[12:25:22.544][D][api.connection:2221]: Home Assistant 2026.1.3 (192.168.40.101): connected
[12:25:51.081][D][api.connection:2221]: Home Assistant 2026.1.3 (192.168.40.101): disconnected
[12:25:51.210][V][api:192]: Remove connection Home Assistant 2026.1.3
[12:25:51.347][D][api:139]: Accept 192.168.40.101
[12:25:51.486][V][api.connection:1547]: Hello from client: 'Home Assistant 2026.1.3' | 192.168.40.101 | API Version 1.14
[12:25:51.486][D][api.connection:2221]: Home Assistant 2026.1.3 (192.168.40.101): connected

Home assistant screen shot. The GPS is not showing up. It doesn’t matter if I do a template switch either, the only thing that shows up is firmware. I tried reloading the integration after it was added, deleting and re-adding as well.

Any guidance?

Thanks!
DaviBoi

Is your esp working ok with some basic setup, without gps component?

It will connect but it will not show entities. Even just a template switch config.

And if you remove the device, reboot ha and re-add device (with simple template switch), it still doesnt show up?

Correct, same problem

Sometime the switch shows up, other times it doesn’t. Here’s what it looks like when it does show up. State does not update after selecting on or off:
image
And here’s the config:

  - platform: template
    optimistic: True
    name: Relay 18-48
    id: relay1848
    icon: "mdi:electric-switch"
    assumed_state: False
    restore_mode: ALWAYS_OFF

Your minimalistic output doesn’t help here.
Make simple setup with one gpio switch, nothing else.
Does it work? If not, post code and logs.

Sounds good. I’ll get that when I can remove the IO from it. Thanks for the help so far, really appreciate it!

Your ESP and home assistant are on different subnets, anything in between?

That could be the source of the problem and I will do testing here this weekend. The problem may not be related to the updated but it happened right after updating the device so I thought that may be a good place to start.

I’ll keep you guys updated and let you know the source of my problem when/if I find it.

Appreciate the insight so far!

DaviBoi

Update of what I found so far:

Seems like it is related to the Adafruit GPS module that I have. When that is not configured, everything works as expected. I’ll dig in more and see what else I can find.

Thanks so much for the guidance so far.

DaviBoi

Very strange, if I comment out the GPS sensors, I get no problem but as soon as I have Longitude or Latitude exposed to home assistant, it creates a problem.

To test, I made the GPS Latitude and Longitude internal, then had them publish to a template sensor of the same that was exposed to Home Assistant. This completely solve the problem and have had no issues so far.

Strange but simple fix

Even weirder, seems like the problem resumes when I change the
state_class to MEASUREMENT_ANGLE on the new sensors. I didn’t see any updates to those in recent releases but if anyone else runs into API issues. Try changing that.

I don’t have your setup to try, but doesn’t sound like esphome problem.
HA expecting some specific class perhaps

For sure. My config (in initial post) is close enough to the example in the GPS component to make me think that it is on api side (either HA or ESPHome).

Either way, I am back up and running just without the state class for now.

Thanks for looking into this Karosm, I know time isn’t cheap.

1 Like

Always happy to try to help…
Not always successfully though :wink:

same problem here
thanks for the workaround…