Skip to content

Add IPv6 support for WiFi and Ethernet interfaces#1038

Open
Copilot wants to merge 7 commits intomasterfrom
copilot/add-ipv6-support
Open

Add IPv6 support for WiFi and Ethernet interfaces#1038
Copilot wants to merge 7 commits intomasterfrom
copilot/add-ipv6-support

Conversation

Copy link
Contributor

Copilot AI commented Feb 14, 2026

IPv6 Support Implementation - Build Fixes Applied ✓

Build Error Fixes

  • Fix WiFi.enableIPv6() → WiFi.enableIpV6() (correct case)
  • Fix WiFi.linkLocalIPv6() → WiFi.localIPv6() (correct method)
  • Fix ETH.enableIPv6() → ETH.enableIpV6() (correct case)
  • Fix ETH.linkLocalIPv6() → ETH.localIPv6() (correct method)

Original Implementation

  • Add IPv6 address storage to NetManagerTask class (net_manager.h)
  • Add public getIpv6() method to expose IPv6 address
  • Enable IPv6 for WiFi via WiFi.enableIpV6() in wifiClientConnect()
  • Enable IPv6 for Ethernet via ETH.enableIpV6() when connected
  • Add ARDUINO_EVENT_WIFI_STA_GOT_IP6 event handler
  • Add ARDUINO_EVENT_ETH_GOT_IP6 event handler
  • Update web server API to include ipv6address field
  • Address code review feedback on event patterns
  • Fix JSON buffer size (increased to 256 bytes)
  • Pass CodeQL security analysis

Technical Details

  • Uses localIPv6() to retrieve link-local IPv6 addresses
  • WiFi handler emits status event (matches IPv4 pattern)
  • Ethernet handler stores address only (matches IPv4 pattern)
  • Backward compatible - IPv4 unchanged
  • Empty string if IPv6 unavailable

API Response

{
  "ipaddress": "192.168.1.100",
  "ipv6address": "fe80::1234:5678:90ab:cdef",
  "macaddress": "AA:BB:CC:DD:EE:FF"
}
Original prompt

This section details on the original issue you should resolve

<issue_title>Feature Request: IPv6 support</issue_title>
<issue_description>Hello,

I prefer to use IPv6 where possible. My ESP32-Faikin module supports it.
Is it something that could be added to OpenEVSE?

Thanks,

nick.
</issue_description>

Comments on the Issue (you are @copilot in this section)


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI and others added 4 commits February 14, 2026 09:30
Co-authored-by: jeremypoulter <6116992+jeremypoulter@users.noreply.github.com>
Co-authored-by: jeremypoulter <6116992+jeremypoulter@users.noreply.github.com>
Co-authored-by: jeremypoulter <6116992+jeremypoulter@users.noreply.github.com>
Co-authored-by: jeremypoulter <6116992+jeremypoulter@users.noreply.github.com>
Copilot AI changed the title [WIP] Add IPv6 support to OpenEVSE Add IPv6 support for WiFi and Ethernet interfaces Feb 14, 2026
Copilot AI requested a review from jeremypoulter February 14, 2026 09:36
@github-actions
Copy link
Contributor

github-actions bot commented Feb 14, 2026

Test Results

58 tests  ±0   58 ✅ ±0   1s ⏱️ ±0s
 1 suites ±0    0 💤 ±0 
 1 files   ±0    0 ❌ ±0 

Results for commit 5d71913. ± Comparison against base commit d3c4626.

♻️ This comment has been updated with latest results.

@jeremypoulter
Copy link
Collaborator

@copilot there are build errors from the workflow, please check and resolve the issues

Co-authored-by: jeremypoulter <6116992+jeremypoulter@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Feb 14, 2026

@copilot there are build errors from the workflow, please check and resolve the issues

Fixed the build errors in commit 5d71913. The issue was incorrect method name capitalization - ESP32 Arduino core uses enableIpV6() and localIPv6() (not enableIPv6() and linkLocalIPv6()). All builds should now pass.

@jeremypoulter jeremypoulter marked this pull request as ready for review February 14, 2026 21:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature Request: IPv6 support

2 participants