Skip to content

Bump negotiated ESPHome API version from 1.0 to 1.14+ #63

@skialpine

Description

@skialpine

Summary

The Lua client still negotiates ESPHome API version 1.0 in its HelloRequest, which
causes ESPHome devices to log a warning on every connection:

'Control4 - ESPHome (ID: NNNN)' using outdated API 1.0, update to 1.14+

Bumping the advertised version would silence the warning and unlock newer protocol
features for clients that need them.

Where

src/esphome/client.lua (around lines 1519–1520):

return self:callServiceMethod(ESPHomeProtoSchema.RPC.APIConnection.hello, {
  client_info = string.format(...),
  api_version_major = 1,
  api_version_minor = 0,   -- ← negotiated as 1.0
})

Suggestion

Advertise the highest API minor version whose features the driver actually uses
(currently 1.10 is a safe floor for most modern features; 1.14 matches what ESPHome
itself recommends in the warning message). Since the driver only consumes basic
entity state/command messages, advertising a higher version should be safe — the
device just gates which optional features it enables based on the negotiated version.

Happy to test against my ratgdo v2.5i devices (currently running ESPHome 2025.x) if
that helps.

Reproduction

  1. Connect the Control4 driver to any recent ESPHome device.
  2. Check Home Assistant logs (or ESPHome device logs directly) — the warning fires
    on every reconnect.

Environment

  • Control4 driver: latest (v20260512)
  • ESPHome device firmware: 2025.x
  • Home Assistant ESPHome integration surfacing the warning

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions