Heads up:
I just updated my Homeassistant installation at home and with 2026.1.0 they introduced 'serialx' as a new dependency which is intended as a replacement for pyserial.
serialx actively blocks anything that isn't returning 'linux', 'darwin' or 'win' as its platform string. Apart from such hard string matches for allegedly checking compatibility being always a dumb idea, it gets even more stupid, as the only thing it does is to decide wether using posix serial (which FreeBSD and other BSDs are also using...) or darwin/win-specific variants. Web'designers' did similar BS back in the late 90's by blocking anything that was not 'IE', so it seems some of them are still around writing python scripts...
Anyhow, even if you don't use serial connections anywhere, this will cause several integrations to fail - one of them being ZHA.
Since serialx only is yet another implementation of pyserial (as python folks love to re-invent the wheel several times), you can simply block installation (pip lock serialx) and remove any dependencies to it.
For the core modules I attached a patch that works for me with HA2026.1.3, but for any other integration that now wants to use that crap it should also work to just remove it from the manifest file (should be in 'loggers' and/or 'requirements' list)