Skip to content

Incorrect Preamble 123 #343

Description

@Edward13ruf

I am trying to run the container (ghcr.io/ohf-voice/linux-voice-assistant:1.1.11) using docker compose as a starting point. I believe I have done everything correctly and the system logs look okay until I try and connect Home Assistant to it.

Startup logs:

linux-voice-assistant  | starting application
linux-voice-assistant  | Network interface specified
linux-voice-assistant  | Using network interface: eth0
linux-voice-assistant  | Host specified
linux-voice-assistant  | Using host: 0.0.0.0
linux-voice-assistant  | DEBUG:__main__:Namespace(name=None, audio_input_device='rtp-source', list_input_devices=False, audio_input_block_size=1024, audio_output_device='rtp', list_output_devices=False, mic_volume=100, mic_auto_gain=0, mic_noise_suppression=0, wake_word_dir=[PosixPath('/app/wakewords')], wake_model='hey_mycroft', stop_model='stop', download_dir=PosixPath('/app/local'), refractory_seconds=2.0, wakeup_sound='/app/sounds/wake_word_triggered.flac', timer_finished_sound='/app/sounds/timer_finished.flac', processing_sound='/app/sounds/processing.wav', mute_sound='/app/sounds/mute_switch_on.flac', unmute_sound='/app/sounds/mute_switch_off.flac', preferences_file='/app/configuration/preferences.json', host='0.0.0.0', network_interface='eth0', port=6053, enable_thinking_sound=False, timer_max_ring_seconds=900.0, debug=True, output_only=False)
linux-voice-assistant  | DEBUG:getmac:Initializing 'iface' method cache (platform: 'linux')
linux-voice-assistant  | DEBUG:getmac:Finished initializing 'iface' method cache
linux-voice-assistant  | DEBUG:getmac:Raw MAC found: ae:af:f4:d4:f1:34
linux-voice-assistant  | 
linux-voice-assistant  | No friendly name specified, try to autogenerate name
linux-voice-assistant  | Friendly name autogenerated: LVA - aeaff4d4f134
linux-voice-assistant  | Device name: lva-aeaff4d4f134
linux-voice-assistant  | Version: 1.1.11
linux-voice-assistant  | ESPHome api version: 42.7.0
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Searching for wake words in directories: ['/app/wakewords', '/app/local/external_wake_words']
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Checking directory: /app/wakewords (exists: True)
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Found 10 JSON configuration files in /app/wakewords
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Processing configuration file: /app/wakewords/okay_nabu.json
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Model okay_nabu is of type: WakeWordType.MICRO_WAKE_WORD
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Model path resolved to: /app/wakewords/okay_nabu.json (exists: True)
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Type specific config for okay_nabu (micro): {'probability_cutoff': 0.85, 'feature_step_size': 10, 'sliding_window_size': 5, 'tensor_arena_size': 37000, 'minimum_esphome_version': '2024.7.0'}
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Successfully registered wake word: okay_nabu
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Processing configuration file: /app/wakewords/hey_luna.json
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Model hey_luna is of type: WakeWordType.MICRO_WAKE_WORD
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Model path resolved to: /app/wakewords/hey_luna.json (exists: True)
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Type specific config for hey_luna (micro): {'probability_cutoff': 0.63, 'sliding_window_size': 5, 'feature_step_size': 10, 'tensor_arena_size': 22860, 'minimum_esphome_version': '2024.7.0'}
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Successfully registered wake word: hey_luna
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Processing configuration file: /app/wakewords/hey_morgan.json
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Model hey_morgan is of type: WakeWordType.MICRO_WAKE_WORD
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Model path resolved to: /app/wakewords/hey_morgan.json (exists: True)
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Type specific config for hey_morgan (micro): {'probability_cutoff': 0.9, 'sliding_window_size': 8, 'feature_step_size': 10, 'tensor_arena_size': 30000, 'minimum_esphome_version': '2024.7.0'}
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Successfully registered wake word: hey_morgan
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Processing configuration file: /app/wakewords/hey_mycroft.json
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Model hey_mycroft is of type: WakeWordType.MICRO_WAKE_WORD
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Model path resolved to: /app/wakewords/hey_mycroft.json (exists: True)
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Type specific config for hey_mycroft (micro): {'probability_cutoff': 0.95, 'sliding_window_size': 5, 'feature_step_size': 10, 'tensor_arena_size': 23628, 'minimum_esphome_version': '2024.7.0'}
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Successfully registered wake word: hey_mycroft
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Processing configuration file: /app/wakewords/hey_home_assistant.json
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Model hey_home_assistant is of type: WakeWordType.MICRO_WAKE_WORD
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Model path resolved to: /app/wakewords/hey_home_assistant.json (exists: True)
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Type specific config for hey_home_assistant (micro): {'probability_cutoff': 0.97, 'feature_step_size': 10, 'sliding_window_size': 5, 'tensor_arena_size': 30000, 'minimum_esphome_version': '2024.7.0'}
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Successfully registered wake word: hey_home_assistant
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Processing configuration file: /app/wakewords/choo_choo_homie.json
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Model choo_choo_homie is of type: WakeWordType.MICRO_WAKE_WORD
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Model path resolved to: /app/wakewords/choo_choo_homie.json (exists: True)
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Type specific config for choo_choo_homie (micro): {'probability_cutoff': 0.97, 'feature_step_size': 10, 'sliding_window_size': 5, 'tensor_arena_size': 30000, 'minimum_esphome_version': '2024.7.0'}
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Successfully registered wake word: choo_choo_homie
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Processing configuration file: /app/wakewords/okay_computer.json
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Model okay_computer is of type: WakeWordType.MICRO_WAKE_WORD
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Model path resolved to: /app/wakewords/okay_computer.json (exists: True)
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Type specific config for okay_computer (micro): {'probability_cutoff': 0.97, 'feature_step_size': 10, 'sliding_window_size': 5, 'tensor_arena_size': 30000, 'minimum_esphome_version': '2024.7.0'}
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Successfully registered wake word: okay_computer
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Processing configuration file: /app/wakewords/alexa.json
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Model alexa is of type: WakeWordType.MICRO_WAKE_WORD
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Model path resolved to: /app/wakewords/alexa.json (exists: True)
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Type specific config for alexa (micro): {'probability_cutoff': 0.9, 'sliding_window_size': 5, 'feature_step_size': 10, 'tensor_arena_size': 22348, 'minimum_esphome_version': '2024.7.0'}
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Successfully registered wake word: alexa
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Processing configuration file: /app/wakewords/stop.json
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Skipping stop model: stop
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Processing configuration file: /app/wakewords/hey_jarvis.json
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Model hey_jarvis is of type: WakeWordType.MICRO_WAKE_WORD
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Model path resolved to: /app/wakewords/hey_jarvis.json (exists: True)
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Type specific config for hey_jarvis (micro): {'probability_cutoff': 0.97, 'feature_step_size': 10, 'sliding_window_size': 5, 'tensor_arena_size': 22860, 'minimum_esphome_version': '2024.7.0'}
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Successfully registered wake word: hey_jarvis
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Checking directory: /app/local/external_wake_words (exists: False)
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Found 0 JSON configuration files in /app/local/external_wake_words
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Total available wake words found: 9
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Available wake words: ['alexa', 'choo_choo_homie', 'hey_home_assistant', 'hey_jarvis', 'hey_luna', 'hey_morgan', 'hey_mycroft', 'okay_computer', 'okay_nabu']
linux-voice-assistant  | DEBUG:__main__:Loading preferences: /app/configuration/preferences.json
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Requested active wake word ids: ['hey_mycroft']
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Default wake word id: hey_mycroft
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Loading requested wake word models, count: 1
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Processing wake word 1/1: hey_mycroft
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Loading wake model: hey_mycroft (Hey Mycroft)
linux-voice-assistant  | {'type': 'micro', 'wake_word': 'Hey Mycroft', 'author': 'Kevin Ahrendt', 'website': 'https://www.kevinahrendt.com/', 'model': 'hey_mycroft.tflite', 'trained_languages': ['en'], 'version': 2, 'micro': {'probability_cutoff': 0.95, 'sliding_window_size': 5, 'feature_step_size': 10, 'tensor_arena_size': 23628, 'minimum_esphome_version': '2024.7.0'}}
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:✅ Successfully loaded wake model: hey_mycroft
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Loaded 1 wake models successfully
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Active wake words: ['hey_mycroft']
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Searching for stop model 'stop' in directories: ['/app/wakewords', '/app/local/external_wake_words']
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Checking stop model path: /app/wakewords/stop.json (exists: True)
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Found stop model configuration at: /app/wakewords/stop.json
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Loading stop model: /app/wakewords/stop.json
linux-voice-assistant  | {'type': 'micro', 'wake_word': 'Stop', 'author': 'Kevin Ahrendt', 'website': 'https://www.kevinahrendt.com/', 'model': 'stop.tflite', 'trained_languages': ['en'], 'version': 2, 'micro': {'probability_cutoff': 0.5, 'feature_step_size': 10, 'sliding_window_size': 5, 'tensor_arena_size': 21000, 'minimum_esphome_version': '2024.7.0'}}
linux-voice-assistant  | DEBUG:linux_voice_assistant.wake_word:Successfully loaded stop model
linux-voice-assistant  | DEBUG:MpvMediaPlayer:MpvMediaPlayer initialized (device=rtp)
linux-voice-assistant  | DEBUG:MpvMediaPlayer:MpvMediaPlayer initialized (device=rtp)
linux-voice-assistant  | DEBUG:MpvMediaPlayer:set_volume(volume=100.00)
linux-voice-assistant  | DEBUG:LibMpvPlayer:unduck() called
linux-voice-assistant  | DEBUG:LibMpvPlayer:unduck() called
linux-voice-assistant  | DEBUG:MpvMediaPlayer:set_volume(volume=100.00)
linux-voice-assistant  | DEBUG:LibMpvPlayer:unduck() called
linux-voice-assistant  | DEBUG:LibMpvPlayer:unduck() called
linux-voice-assistant  | DEBUG:__main__:Validating VoiceSatelliteProtocol initialization...
linux-voice-assistant  | DEBUG:linux_voice_assistant.satellite:Voice assistant features
linux-voice-assistant  | DEBUG:MpvMediaPlayer:set_volume(volume=100.00)
linux-voice-assistant  | DEBUG:LibMpvPlayer:unduck() called
linux-voice-assistant  | DEBUG:LibMpvPlayer:unduck() called
linux-voice-assistant  | DEBUG:MpvMediaPlayer:set_volume(volume=100.00)
linux-voice-assistant  | DEBUG:LibMpvPlayer:unduck() called
linux-voice-assistant  | DEBUG:LibMpvPlayer:unduck() called
linux-voice-assistant  | DEBUG:WakeWord1SensitivityNumberEntity[3]:Entity synchronized: old=0.700 new=0.700
linux-voice-assistant  | DEBUG:linux_voice_assistant.satellite:INIT: Wake Word 1 entity initialized with value 0.700
linux-voice-assistant  | DEBUG:WakeWord2SensitivityNumberEntity[4]:Entity synchronized: old=0.700 new=0.700
linux-voice-assistant  | DEBUG:StopWordSensitivityNumberEntity[5]:Entity synchronized: old=0.500 new=0.500
linux-voice-assistant  | DEBUG:__main__:✅ VoiceSatelliteProtocol validation successful
linux-voice-assistant  | DEBUG:__main__:Opening audio input device: rtp-source
linux-voice-assistant  | DEBUG:linux_voice_assistant.zeroconf:Zeroconf discovery enabled: AsyncServiceInfo(type='_esphomelib._tcp.local.', name='lva-aeaff4d4f134._esphomelib._tcp.local.', addresses=[b'\x00\x00\x00\x00'], port=6053, weight=0, priority=0, server='lva-aeaff4d4f134.local.', properties={b'version': b'2025.9.0', b'mac': b'ae:af:f4:d4:f1:34', b'board': b'host', b'platform': b'HOST', b'network': b'ethernet'}, interface_index=None)
linux-voice-assistant  | INFO:__main__:Server started (host=0.0.0.0, port=6053)

logs when connecting home assistant:

linux-voice-assistant  | DEBUG:linux_voice_assistant.satellite:Voice assistant features
linux-voice-assistant  | DEBUG:WakeWord1SensitivityNumberEntity[3]:Entity synchronized: old=0.950 new=0.950
linux-voice-assistant  | DEBUG:linux_voice_assistant.satellite:INIT: Wake Word 1 entity initialized with value 0.950
linux-voice-assistant  | DEBUG:WakeWord2SensitivityNumberEntity[4]:Entity synchronized: old=0.700 new=0.700
linux-voice-assistant  | DEBUG:StopWordSensitivityNumberEntity[5]:Entity synchronized: old=0.500 new=0.500
linux-voice-assistant  | ERROR:linux_voice_assistant.api_server:Incorrect preamble: 123

Home assistant tries this a few times before reporting that is Failed to Connect. I am not at the point of testing the application and audio components yet, this was just about making sure that the system could connect to Home Assistant first.

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedExtra attention is needed

    Type

    No type

    Fields

    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