Home Assistant Voice Preview is an unusable mess.

I just got a Home Assistant Voice recently. I was so excited to try it out as a programmable Alexa.

First problem - the HA Voice doesnt run as its own thing. it needs another home assistant instance.

Image

Ok, no problem. I’m somewhat technical, I can figure this out. Head to the HA instructions.

Home Assistant Problems

First thing it does is try to sell me a Home Assistant Green. fair play, i’m not interested, but get that bag guys.

Image

by the way your buy button doesnt work right now u might wanna take a look at that.

Image

i dont really feel like waiting for a raspberry pi to arrive so i keep scrolling. I have like 4 macs lying around. maybe i can use one of those? ah, a mac guide!

Image

Home Assistant on Mac

The Mac page.

First thing it tells me to do is to download “the appropriate image”. why is this not a docker image? or some mountable thing? instead i need some vm nonsense? well fuck that i will look into that later. (I later found out that Virtualbox is a specific type of vm hypervisor, but i didnt know that, maybe include some instructions to download virtualbox…)

Image

It’s open source right? can’t i just run from source? Looks like there’s another edition called Home Assistant Core. cool.

Image

hmm. new macs dont have apt-get anymore.

Image

It’s ok lets use brew. the installs work. great.

next step: Create an account.

Image

the fuck? is this a linux guide? did ANYONE customize this for mac at all?

in fact all these seem like linuxisms.

Image

fuck all this.

I tried this next: Assuming you have uv installed:

# be in some folder you like
uv venv
uv pip install homeassistant==2025.1.2 --prerelease=allow
uv run hass
i ran into troubles building this the first time. apparently you need to run "sudo softwareupdate --install "Command Line Tools for Xcode-16.2", otherwise you get this error
Unable to find configuration. Creating default one in /Users/shawnwang/.homeassistant
2025-01-19 16:33:27.267 WARNING (MainThread) [aiohttp_fast_zlib] zlib_ng and isal are not available, falling back to zlib, performance will be degraded.
2025-01-19 16:33:36.677 ERROR (SyncWorker_4) [homeassistant.util.package] Unable to install package pyspeex-noise==1.0.2: × Failed to download and build `pyspeex-noise==1.0.2`
  ╰─▶ Build backend failed to build wheel through `build_wheel` (exit status:
      1)

      [stdout]
      running bdist_wheel
      running build
      running build_py
      creating build/lib.macosx-11.0-arm64-cpython-312/pyspeex_noise
      copying pyspeex_noise/__init__.py ->
      build/lib.macosx-11.0-arm64-cpython-312/pyspeex_noise
      copying pyspeex_noise/__main__.py ->
      build/lib.macosx-11.0-arm64-cpython-312/pyspeex_noise
      running build_ext
      building 'speex_noise_cpp' extension
      creating
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src
      creating
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex
      clang++ -fno-strict-overflow -Wsign-compare -Wunreachable-code
      -DNDEBUG -g -O3 -Wall -arch arm64 -mmacosx-version-min=11.0
      -Wno-nullability-completeness -Wno-expansion-to-defined -Wno-undef-prefix
      -fPIC -Werror=unguarded-availability-new -DVERSION_INFO=1.0.2
      -I/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmpEL5Oe1/lib/python3.12/site-packages/pybind11/include
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmpEL5Oe1/include
      -I/Users/shawnwang/.local/share/uv/python/cpython-3.12.7-macos-aarch64-none/include/python3.12
      -c
      /Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/python.cpp
      -o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/python.o
      -fvisibility=hidden -g0 -std=c++17 -mmacosx-version-min=10.14
      -DFLOATING_POINT -DUSE_KISS_FFT
      clang++ -fno-strict-overflow -Wsign-compare -Wunreachable-code
      -DNDEBUG -g -O3 -Wall -arch arm64 -mmacosx-version-min=11.0
      -Wno-nullability-completeness -Wno-expansion-to-defined -Wno-undef-prefix
      -fPIC -Werror=unguarded-availability-new -DVERSION_INFO=1.0.2
      -I/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmpEL5Oe1/lib/python3.12/site-packages/pybind11/include
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmpEL5Oe1/include
      -I/Users/shawnwang/.local/share/uv/python/cpython-3.12.7-macos-aarch64-none/include/python3.12
      -c
      /Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/fftwrap.cc
      -o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/fftwrap.o
      -fvisibility=hidden -g0 -std=c++17 -mmacosx-version-min=10.14
      -DFLOATING_POINT -DUSE_KISS_FFT
      clang++ -fno-strict-overflow -Wsign-compare -Wunreachable-code
      -DNDEBUG -g -O3 -Wall -arch arm64 -mmacosx-version-min=11.0
      -Wno-nullability-completeness -Wno-expansion-to-defined -Wno-undef-prefix
      -fPIC -Werror=unguarded-availability-new -DVERSION_INFO=1.0.2
      -I/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmpEL5Oe1/lib/python3.12/site-packages/pybind11/include
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmpEL5Oe1/include
      -I/Users/shawnwang/.local/share/uv/python/cpython-3.12.7-macos-aarch64-none/include/python3.12
      -c
      /Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/filterbank.cc
      -o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/filterbank.o
      -fvisibility=hidden -g0 -std=c++17 -mmacosx-version-min=10.14
      -DFLOATING_POINT -DUSE_KISS_FFT
      clang++ -fno-strict-overflow -Wsign-compare -Wunreachable-code
      -DNDEBUG -g -O3 -Wall -arch arm64 -mmacosx-version-min=11.0
      -Wno-nullability-completeness -Wno-expansion-to-defined -Wno-undef-prefix
      -fPIC -Werror=unguarded-availability-new -DVERSION_INFO=1.0.2
      -I/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmpEL5Oe1/lib/python3.12/site-packages/pybind11/include
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmpEL5Oe1/include
      -I/Users/shawnwang/.local/share/uv/python/cpython-3.12.7-macos-aarch64-none/include/python3.12
      -c
      /Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/kiss_fft.cc
      -o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/kiss_fft.o
      -fvisibility=hidden -g0 -std=c++17 -mmacosx-version-min=10.14
      -DFLOATING_POINT -DUSE_KISS_FFT
      clang++ -fno-strict-overflow -Wsign-compare -Wunreachable-code
      -DNDEBUG -g -O3 -Wall -arch arm64 -mmacosx-version-min=11.0
      -Wno-nullability-completeness -Wno-expansion-to-defined -Wno-undef-prefix
      -fPIC -Werror=unguarded-availability-new -DVERSION_INFO=1.0.2
      -I/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmpEL5Oe1/lib/python3.12/site-packages/pybind11/include
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmpEL5Oe1/include
      -I/Users/shawnwang/.local/share/uv/python/cpython-3.12.7-macos-aarch64-none/include/python3.12
      -c
      /Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/kiss_fftr.cc
      -o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/kiss_fftr.o
      -fvisibility=hidden -g0 -std=c++17 -mmacosx-version-min=10.14
      -DFLOATING_POINT -DUSE_KISS_FFT
      clang++ -fno-strict-overflow -Wsign-compare -Wunreachable-code
      -DNDEBUG -g -O3 -Wall -arch arm64 -mmacosx-version-min=11.0
      -Wno-nullability-completeness -Wno-expansion-to-defined -Wno-undef-prefix
      -fPIC -Werror=unguarded-availability-new -DVERSION_INFO=1.0.2
      -I/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmpEL5Oe1/lib/python3.12/site-packages/pybind11/include
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmpEL5Oe1/include
      -I/Users/shawnwang/.local/share/uv/python/cpython-3.12.7-macos-aarch64-none/include/python3.12
      -c
      /Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/mdf.cc
      -o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/mdf.o
      -fvisibility=hidden -g0 -std=c++17 -mmacosx-version-min=10.14
      -DFLOATING_POINT -DUSE_KISS_FFT
      clang++ -fno-strict-overflow -Wsign-compare -Wunreachable-code
      -DNDEBUG -g -O3 -Wall -arch arm64 -mmacosx-version-min=11.0
      -Wno-nullability-completeness -Wno-expansion-to-defined -Wno-undef-prefix
      -fPIC -Werror=unguarded-availability-new -DVERSION_INFO=1.0.2
      -I/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmpEL5Oe1/lib/python3.12/site-packages/pybind11/include
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmpEL5Oe1/include
      -I/Users/shawnwang/.local/share/uv/python/cpython-3.12.7-macos-aarch64-none/include/python3.12
      -c
      /Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/preprocess.cc
      -o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/preprocess.o
      -fvisibility=hidden -g0 -std=c++17 -mmacosx-version-min=10.14
      -DFLOATING_POINT -DUSE_KISS_FFT
      clang++ -fno-strict-overflow -Wsign-compare -Wunreachable-code
      -DNDEBUG -g -O3 -Wall -arch arm64 -mmacosx-version-min=11.0
      -Wno-nullability-completeness -Wno-expansion-to-defined -Wno-undef-prefix
      -fPIC -Werror=unguarded-availability-new -bundle -undefined
      dynamic_lookup -arch arm64 -mmacosx-version-min=11.0 -isysroot
      /Applications/Xcode_15.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk
      -LModules/_hacl
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/python.o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/fftwrap.o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/filterbank.o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/kiss_fft.o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/kiss_fftr.o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/mdf.o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/preprocess.o
      -L/install/lib -o
      build/lib.macosx-11.0-arm64-cpython-312/speex_noise_cpp.cpython-312-darwin.so
      -mmacosx-version-min=10.14

      [stderr]
      /Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/preprocess.cc:921:14:
      warning: code will never be executed [-Wunreachable-code]
        921 |       for (i=N;i<N+M;i++)
            |              ^
      /Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/preprocess.cc:872:8:
      note: silence by adding parentheses to mark code as explicitly dead
        872 |    if (1)
            |        ^
            |        /* DISABLES CODE */ ( )
      1 warning generated.
      Compiling with an SDK that doesn't seem to exist:
      /Applications/Xcode_15.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk
      Please check your Xcode installation
      clang++: warning: no such sysroot directory:
      '/Applications/Xcode_15.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk'
      [-Wmissing-sysroot]
      ld: warning: search path 'Modules/_hacl' not found
      ld: warning: search path '/install/lib' not found
      ld: library 'c++' not found
      clang++: error: linker command failed with exit code 1 (use -v to see
      invocation)
      error: command '/usr/bin/clang++' failed with exit code 1
2025-01-19 16:33:39.711 ERROR (SyncWorker_4) [homeassistant.util.package] Unable to install package pyspeex-noise==1.0.2: × Failed to download and build `pyspeex-noise==1.0.2`
  ╰─▶ Build backend failed to build wheel through `build_wheel` (exit status:
      1)

      [stdout]
      running bdist_wheel
      running build
      running build_py
      copying pyspeex_noise/__init__.py ->
      build/lib.macosx-11.0-arm64-cpython-312/pyspeex_noise
      copying pyspeex_noise/__main__.py ->
      build/lib.macosx-11.0-arm64-cpython-312/pyspeex_noise
      running build_ext
      building 'speex_noise_cpp' extension
      clang++ -fno-strict-overflow -Wsign-compare -Wunreachable-code
      -DNDEBUG -g -O3 -Wall -arch arm64 -mmacosx-version-min=11.0
      -Wno-nullability-completeness -Wno-expansion-to-defined -Wno-undef-prefix
      -fPIC -Werror=unguarded-availability-new -DVERSION_INFO=1.0.2
      -I/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmpnvKanT/lib/python3.12/site-packages/pybind11/include
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmpnvKanT/include
      -I/Users/shawnwang/.local/share/uv/python/cpython-3.12.7-macos-aarch64-none/include/python3.12
      -c
      /Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/python.cpp
      -o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/python.o
      -fvisibility=hidden -g0 -std=c++17 -mmacosx-version-min=10.14
      -DFLOATING_POINT -DUSE_KISS_FFT
      clang++ -fno-strict-overflow -Wsign-compare -Wunreachable-code
      -DNDEBUG -g -O3 -Wall -arch arm64 -mmacosx-version-min=11.0
      -Wno-nullability-completeness -Wno-expansion-to-defined -Wno-undef-prefix
      -fPIC -Werror=unguarded-availability-new -DVERSION_INFO=1.0.2
      -I/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmpnvKanT/lib/python3.12/site-packages/pybind11/include
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmpnvKanT/include
      -I/Users/shawnwang/.local/share/uv/python/cpython-3.12.7-macos-aarch64-none/include/python3.12
      -c
      /Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/fftwrap.cc
      -o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/fftwrap.o
      -fvisibility=hidden -g0 -std=c++17 -mmacosx-version-min=10.14
      -DFLOATING_POINT -DUSE_KISS_FFT
      clang++ -fno-strict-overflow -Wsign-compare -Wunreachable-code
      -DNDEBUG -g -O3 -Wall -arch arm64 -mmacosx-version-min=11.0
      -Wno-nullability-completeness -Wno-expansion-to-defined -Wno-undef-prefix
      -fPIC -Werror=unguarded-availability-new -DVERSION_INFO=1.0.2
      -I/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmpnvKanT/lib/python3.12/site-packages/pybind11/include
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmpnvKanT/include
      -I/Users/shawnwang/.local/share/uv/python/cpython-3.12.7-macos-aarch64-none/include/python3.12
      -c
      /Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/filterbank.cc
      -o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/filterbank.o
      -fvisibility=hidden -g0 -std=c++17 -mmacosx-version-min=10.14
      -DFLOATING_POINT -DUSE_KISS_FFT
      clang++ -fno-strict-overflow -Wsign-compare -Wunreachable-code
      -DNDEBUG -g -O3 -Wall -arch arm64 -mmacosx-version-min=11.0
      -Wno-nullability-completeness -Wno-expansion-to-defined -Wno-undef-prefix
      -fPIC -Werror=unguarded-availability-new -DVERSION_INFO=1.0.2
      -I/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmpnvKanT/lib/python3.12/site-packages/pybind11/include
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmpnvKanT/include
      -I/Users/shawnwang/.local/share/uv/python/cpython-3.12.7-macos-aarch64-none/include/python3.12
      -c
      /Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/kiss_fft.cc
      -o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/kiss_fft.o
      -fvisibility=hidden -g0 -std=c++17 -mmacosx-version-min=10.14
      -DFLOATING_POINT -DUSE_KISS_FFT
      clang++ -fno-strict-overflow -Wsign-compare -Wunreachable-code
      -DNDEBUG -g -O3 -Wall -arch arm64 -mmacosx-version-min=11.0
      -Wno-nullability-completeness -Wno-expansion-to-defined -Wno-undef-prefix
      -fPIC -Werror=unguarded-availability-new -DVERSION_INFO=1.0.2
      -I/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmpnvKanT/lib/python3.12/site-packages/pybind11/include
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmpnvKanT/include
      -I/Users/shawnwang/.local/share/uv/python/cpython-3.12.7-macos-aarch64-none/include/python3.12
      -c
      /Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/kiss_fftr.cc
      -o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/kiss_fftr.o
      -fvisibility=hidden -g0 -std=c++17 -mmacosx-version-min=10.14
      -DFLOATING_POINT -DUSE_KISS_FFT
      clang++ -fno-strict-overflow -Wsign-compare -Wunreachable-code
      -DNDEBUG -g -O3 -Wall -arch arm64 -mmacosx-version-min=11.0
      -Wno-nullability-completeness -Wno-expansion-to-defined -Wno-undef-prefix
      -fPIC -Werror=unguarded-availability-new -DVERSION_INFO=1.0.2
      -I/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmpnvKanT/lib/python3.12/site-packages/pybind11/include
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmpnvKanT/include
      -I/Users/shawnwang/.local/share/uv/python/cpython-3.12.7-macos-aarch64-none/include/python3.12
      -c
      /Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/mdf.cc
      -o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/mdf.o
      -fvisibility=hidden -g0 -std=c++17 -mmacosx-version-min=10.14
      -DFLOATING_POINT -DUSE_KISS_FFT
      clang++ -fno-strict-overflow -Wsign-compare -Wunreachable-code
      -DNDEBUG -g -O3 -Wall -arch arm64 -mmacosx-version-min=11.0
      -Wno-nullability-completeness -Wno-expansion-to-defined -Wno-undef-prefix
      -fPIC -Werror=unguarded-availability-new -DVERSION_INFO=1.0.2
      -I/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmpnvKanT/lib/python3.12/site-packages/pybind11/include
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmpnvKanT/include
      -I/Users/shawnwang/.local/share/uv/python/cpython-3.12.7-macos-aarch64-none/include/python3.12
      -c
      /Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/preprocess.cc
      -o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/preprocess.o
      -fvisibility=hidden -g0 -std=c++17 -mmacosx-version-min=10.14
      -DFLOATING_POINT -DUSE_KISS_FFT
      clang++ -fno-strict-overflow -Wsign-compare -Wunreachable-code
      -DNDEBUG -g -O3 -Wall -arch arm64 -mmacosx-version-min=11.0
      -Wno-nullability-completeness -Wno-expansion-to-defined -Wno-undef-prefix
      -fPIC -Werror=unguarded-availability-new -bundle -undefined
      dynamic_lookup -arch arm64 -mmacosx-version-min=11.0 -isysroot
      /Applications/Xcode_15.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk
      -LModules/_hacl
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/python.o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/fftwrap.o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/filterbank.o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/kiss_fft.o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/kiss_fftr.o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/mdf.o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/preprocess.o
      -L/install/lib -o
      build/lib.macosx-11.0-arm64-cpython-312/speex_noise_cpp.cpython-312-darwin.so
      -mmacosx-version-min=10.14

      [stderr]
      /Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/preprocess.cc:921:14:
      warning: code will never be executed [-Wunreachable-code]
        921 |       for (i=N;i<N+M;i++)
            |              ^
      /Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/preprocess.cc:872:8:
      note: silence by adding parentheses to mark code as explicitly dead
        872 |    if (1)
            |        ^
            |        /* DISABLES CODE */ ( )
      1 warning generated.
      Compiling with an SDK that doesn't seem to exist:
      /Applications/Xcode_15.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk
      Please check your Xcode installation
      clang++: warning: no such sysroot directory:
      '/Applications/Xcode_15.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk'
      [-Wmissing-sysroot]
      ld: warning: search path 'Modules/_hacl' not found
      ld: warning: search path '/install/lib' not found
      ld: library 'c++' not found
      clang++: error: linker command failed with exit code 1 (use -v to see
      invocation)
      error: command '/usr/bin/clang++' failed with exit code 1
2025-01-19 16:33:42.756 ERROR (SyncWorker_4) [homeassistant.util.package] Unable to install package pyspeex-noise==1.0.2: × Failed to download and build `pyspeex-noise==1.0.2`
  ╰─▶ Build backend failed to build wheel through `build_wheel` (exit status:
      1)

      [stdout]
      running bdist_wheel
      running build
      running build_py
      copying pyspeex_noise/__init__.py ->
      build/lib.macosx-11.0-arm64-cpython-312/pyspeex_noise
      copying pyspeex_noise/__main__.py ->
      build/lib.macosx-11.0-arm64-cpython-312/pyspeex_noise
      running build_ext
      building 'speex_noise_cpp' extension
      clang++ -fno-strict-overflow -Wsign-compare -Wunreachable-code
      -DNDEBUG -g -O3 -Wall -arch arm64 -mmacosx-version-min=11.0
      -Wno-nullability-completeness -Wno-expansion-to-defined -Wno-undef-prefix
      -fPIC -Werror=unguarded-availability-new -DVERSION_INFO=1.0.2
      -I/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmppOr1LM/lib/python3.12/site-packages/pybind11/include
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmppOr1LM/include
      -I/Users/shawnwang/.local/share/uv/python/cpython-3.12.7-macos-aarch64-none/include/python3.12
      -c
      /Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/python.cpp
      -o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/python.o
      -fvisibility=hidden -g0 -std=c++17 -mmacosx-version-min=10.14
      -DFLOATING_POINT -DUSE_KISS_FFT
      clang++ -fno-strict-overflow -Wsign-compare -Wunreachable-code
      -DNDEBUG -g -O3 -Wall -arch arm64 -mmacosx-version-min=11.0
      -Wno-nullability-completeness -Wno-expansion-to-defined -Wno-undef-prefix
      -fPIC -Werror=unguarded-availability-new -DVERSION_INFO=1.0.2
      -I/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmppOr1LM/lib/python3.12/site-packages/pybind11/include
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmppOr1LM/include
      -I/Users/shawnwang/.local/share/uv/python/cpython-3.12.7-macos-aarch64-none/include/python3.12
      -c
      /Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/fftwrap.cc
      -o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/fftwrap.o
      -fvisibility=hidden -g0 -std=c++17 -mmacosx-version-min=10.14
      -DFLOATING_POINT -DUSE_KISS_FFT
      clang++ -fno-strict-overflow -Wsign-compare -Wunreachable-code
      -DNDEBUG -g -O3 -Wall -arch arm64 -mmacosx-version-min=11.0
      -Wno-nullability-completeness -Wno-expansion-to-defined -Wno-undef-prefix
      -fPIC -Werror=unguarded-availability-new -DVERSION_INFO=1.0.2
      -I/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmppOr1LM/lib/python3.12/site-packages/pybind11/include
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmppOr1LM/include
      -I/Users/shawnwang/.local/share/uv/python/cpython-3.12.7-macos-aarch64-none/include/python3.12
      -c
      /Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/filterbank.cc
      -o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/filterbank.o
      -fvisibility=hidden -g0 -std=c++17 -mmacosx-version-min=10.14
      -DFLOATING_POINT -DUSE_KISS_FFT
      clang++ -fno-strict-overflow -Wsign-compare -Wunreachable-code
      -DNDEBUG -g -O3 -Wall -arch arm64 -mmacosx-version-min=11.0
      -Wno-nullability-completeness -Wno-expansion-to-defined -Wno-undef-prefix
      -fPIC -Werror=unguarded-availability-new -DVERSION_INFO=1.0.2
      -I/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmppOr1LM/lib/python3.12/site-packages/pybind11/include
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmppOr1LM/include
      -I/Users/shawnwang/.local/share/uv/python/cpython-3.12.7-macos-aarch64-none/include/python3.12
      -c
      /Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/kiss_fft.cc
      -o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/kiss_fft.o
      -fvisibility=hidden -g0 -std=c++17 -mmacosx-version-min=10.14
      -DFLOATING_POINT -DUSE_KISS_FFT
      clang++ -fno-strict-overflow -Wsign-compare -Wunreachable-code
      -DNDEBUG -g -O3 -Wall -arch arm64 -mmacosx-version-min=11.0
      -Wno-nullability-completeness -Wno-expansion-to-defined -Wno-undef-prefix
      -fPIC -Werror=unguarded-availability-new -DVERSION_INFO=1.0.2
      -I/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmppOr1LM/lib/python3.12/site-packages/pybind11/include
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmppOr1LM/include
      -I/Users/shawnwang/.local/share/uv/python/cpython-3.12.7-macos-aarch64-none/include/python3.12
      -c
      /Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/kiss_fftr.cc
      -o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/kiss_fftr.o
      -fvisibility=hidden -g0 -std=c++17 -mmacosx-version-min=10.14
      -DFLOATING_POINT -DUSE_KISS_FFT
      clang++ -fno-strict-overflow -Wsign-compare -Wunreachable-code
      -DNDEBUG -g -O3 -Wall -arch arm64 -mmacosx-version-min=11.0
      -Wno-nullability-completeness -Wno-expansion-to-defined -Wno-undef-prefix
      -fPIC -Werror=unguarded-availability-new -DVERSION_INFO=1.0.2
      -I/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmppOr1LM/lib/python3.12/site-packages/pybind11/include
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmppOr1LM/include
      -I/Users/shawnwang/.local/share/uv/python/cpython-3.12.7-macos-aarch64-none/include/python3.12
      -c
      /Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/mdf.cc
      -o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/mdf.o
      -fvisibility=hidden -g0 -std=c++17 -mmacosx-version-min=10.14
      -DFLOATING_POINT -DUSE_KISS_FFT
      clang++ -fno-strict-overflow -Wsign-compare -Wunreachable-code
      -DNDEBUG -g -O3 -Wall -arch arm64 -mmacosx-version-min=11.0
      -Wno-nullability-completeness -Wno-expansion-to-defined -Wno-undef-prefix
      -fPIC -Werror=unguarded-availability-new -DVERSION_INFO=1.0.2
      -I/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmppOr1LM/lib/python3.12/site-packages/pybind11/include
      -I/Users/shawnwang/.cache/uv/builds-v0/.tmppOr1LM/include
      -I/Users/shawnwang/.local/share/uv/python/cpython-3.12.7-macos-aarch64-none/include/python3.12
      -c
      /Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/preprocess.cc
      -o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/preprocess.o
      -fvisibility=hidden -g0 -std=c++17 -mmacosx-version-min=10.14
      -DFLOATING_POINT -DUSE_KISS_FFT
      clang++ -fno-strict-overflow -Wsign-compare -Wunreachable-code
      -DNDEBUG -g -O3 -Wall -arch arm64 -mmacosx-version-min=11.0
      -Wno-nullability-completeness -Wno-expansion-to-defined -Wno-undef-prefix
      -fPIC -Werror=unguarded-availability-new -bundle -undefined
      dynamic_lookup -arch arm64 -mmacosx-version-min=11.0 -isysroot
      /Applications/Xcode_15.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk
      -LModules/_hacl
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/python.o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/fftwrap.o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/filterbank.o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/kiss_fft.o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/kiss_fftr.o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/mdf.o
      build/temp.macosx-11.0-arm64-cpython-312/Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/preprocess.o
      -L/install/lib -o
      build/lib.macosx-11.0-arm64-cpython-312/speex_noise_cpp.cpython-312-darwin.so
      -mmacosx-version-min=10.14

      [stderr]
      /Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/preprocess.cc:921:14:
      warning: code will never be executed [-Wunreachable-code]
        921 |       for (i=N;i<N+M;i++)
            |              ^
      /Users/shawnwang/.cache/uv/sdists-v6/pypi/pyspeex-noise/1.0.2/OiKAa5C3V4L1j77Pq6j5d/src/speex/preprocess.cc:872:8:
      note: silence by adding parentheses to mark code as explicitly dead
        872 |    if (1)
            |        ^
            |        /* DISABLES CODE */ ( )
      1 warning generated.
      Compiling with an SDK that doesn't seem to exist:
      /Applications/Xcode_15.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk
      Please check your Xcode installation
      clang++: warning: no such sysroot directory:
      '/Applications/Xcode_15.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk'
      [-Wmissing-sysroot]
      ld: warning: search path 'Modules/_hacl' not found
      ld: warning: search path '/install/lib' not found
      ld: library 'c++' not found
      clang++: error: linker command failed with exit code 1 (use -v to see
      invocation)
      error: command '/usr/bin/clang++' failed with exit code 1
2025-01-19 16:34:07.135 ERROR (MainThread) [homeassistant.setup] Setup failed for 'cloud': Requirements for assist_pipeline not found: ['pyspeex-noise==1.0.2'].
2025-01-19 16:34:19.493 ERROR (MainThread) [homeassistant.setup] Error during setup of component conversation
Traceback (most recent call last):
  File "/Users/shawnwang/Desktop/Work/homeassistant/.venv/lib/python3.12/site-packages/homeassistant/setup.py", line 416, in _async_setup_component
    result = await task
             ^^^^^^^^^^
  File "/Users/shawnwang/Desktop/Work/homeassistant/.venv/lib/python3.12/site-packages/homeassistant/components/conversation/__init__.py", line 246, in async_setup
    from homeassistant.components.assist_pipeline import (  # pylint: disable=import-outside-toplevel
  File "/Users/shawnwang/Desktop/Work/homeassistant/.venv/lib/python3.12/site-packages/homeassistant/components/assist_pipeline/__init__.py", line 27, in <module>
    from .pipeline import (
  File "/Users/shawnwang/Desktop/Work/homeassistant/.venv/lib/python3.12/site-packages/homeassistant/components/assist_pipeline/pipeline.py", line 55, in <module>
    from .audio_enhancer import AudioEnhancer, EnhancedAudioChunk, MicroVadSpeexEnhancer
  File "/Users/shawnwang/Desktop/Work/homeassistant/.venv/lib/python3.12/site-packages/homeassistant/components/assist_pipeline/audio_enhancer.py", line 8, in <module>
    from pyspeex_noise import AudioProcessor
ModuleNotFoundError: No module named 'pyspeex_noise'
2025-01-19 16:34:19.497 ERROR (MainThread) [homeassistant.setup] Unable to set up dependencies of 'assist_pipeline'. Setup failed for dependencies: ['conversation']
2025-01-19 16:34:19.497 ERROR (MainThread) [homeassistant.setup] Setup failed for 'assist_pipeline': Could not setup dependencies: conversation
2025-01-19 16:34:19.886 ERROR (MainThread) [homeassistant.setup] Setup failed for 'mobile_app': Requirements for assist_pipeline not found: ['pyspeex-noise==1.0.2'].
2025-01-19 16:34:19.886 ERROR (MainThread) [homeassistant.setup] Unable to set up dependencies of 'default_config'. Setup failed for dependencies: ['assist_pipeline', 'cloud', 'conversation', 'mobile_app']
2025-01-19 16:34:19.886 ERROR (MainThread) [homeassistant.setup] Setup failed for 'default_config': Could not setup dependencies: assist_pipeline, cloud, conversation, mobile_app
2025-01-19 16:34:19.887 WARNING (MainThread) [homeassistant.bootstrap] Support for the running Python version 3.12.7 is deprecated and will be removed in Home Assistant 2025.2; Please upgrade Python to 3.13

this got me pretty far. However because of whatever dependencies go into HA, I still couldnt proceed:

Image

so I halted there. back to the VM approach now that the local install has run in to its usual stop point (I refuse on principle to install the piece of shit that is xcode).

Oracle VirtualBox

nobody ever feels good going to an oracle property. installing Virtualbox and double clicking the .vdi file i downloaded from earlier gives… nothing

Image

Of course the insturctions on the HA page

Image

dont bear any relation to the virtualbox settings page

Image

only by googling i found this is where you load in the vdi file

Image Image

network options are also needed

Image

then it gets up and running (after you do the screen control/permissions dance):

Image

however, going to http://homeassistant.local:8123/ does nothing. I try to power it off, and… of course it beachballs.

Image

restart.

anyway, it looks like the default vdi ships with some well known bugs but ALSO its now just straight up missing the \EFI\BOOT\BOOTx64.efi file it expects to load. I found one you can download here and learned that you can import them into the vm via shared folders.

Image

this produced some progress…

Image

but was still a dead end.

a bit more googling found these: https://community.home-assistant.io/t/unable-to-boot-home-assistant-in-virtual-machine-starup-nsh-error/220267/27?page=2

Image

Home Assistant with Docker

a chance comment led me to find that there might be a docker container for this shit buried in the linux docs so here goes..

Image

this finally works!!

Image

connecting mobile app to HA server.

https://voice-pe.home-assistant.io/getting-started/ says you need to use the mobile app to find the HA Voice thing.

of course it just expects the networking to work when of course it wont fucking work

Image

of course this is where they sell you the nabu cloud.

Image

i tried ngrok to setup a tunnel but it just resulted in a bunch of bad 400 bad request errors. i signed up to nabu cloud, but i definitely dont feel happy about it. it is more likely to make me want to throw away this whole thing and light it on fire.

Image

wait for this remote access to enable and then copy link (yes that UI link) into your phone

Image

if successful this should show up

Image

NOW for voice

back to https://voice-pe.home-assistant.io/getting-started/

fortunately this worked as advertised.

Image

when asked for “authorization” they just mean press the button per the photo

Image

which is when we run into this esphome/home-assistant-voice-pe#265

fuck.

But that was a fail. You have to enter the WLAN IP of the device. The port of the device will automatically be 6052 if you did not declare any other manually.

i got vibhu to go thru the router logs and see the IP of the connected HA Voice thingy. it was a 192.168.x.x IP on port 6053 (not 6052 like commentor said). punched that in to ESPHome, it worked on the second try.

then i went thru the setup wizard… and of course this wasnt the end of my problems.

https://community.home-assistant.io/t/home-assistant-voice-pe-the-voice-assistant-is-unable-to-connect-to-home-assistant/821049

esphome/home-assistant-voice-pe#288

this insturction seemed the most directly relevant https://community.home-assistant.io/t/home-assistant-voice-pe-tls-certificate-verification-failed/815768/3

and after about an hour of trying, I gave up.

Leave a reaction if you liked this post! 🧡
Loading comments...
Webmentions
Loading...

Subscribe to the newsletter

Join >10,000 subscribers getting occasional updates on new posts and projects!

I also write an AI newsletter and a DevRel/DevTools newsletter.

Latest Posts

Search and see all content