ESP32 Mediaplayer issues

Having exactly the same issues… the folks over at raspiaudio on their forum are pointing to a network issue, but I am banging my head trying to get the ESPHOME mediaplayer to work on this ESP MUSE Lux…

Edit: Crossing subnets does not work (ooh, the joys of unifi) and media_player / mode: stereo will not work either (produces white noise).

Reflashed with following esphome yaml (on same subnet as HA instance) and all is fine now:

substitutions:
  name: "raspiaudio-muse-luxe"
  friendly_name: "RaspiAudio Muse Luxe"

esphome:
  name: "${name}"
  name_add_mac_suffix: false
  project:
    name: raspiaudio.muse-luxe
    version: "1.0"

esp32:
  board: esp-wrover-kit
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:

# Enable over-the-air updates
ota:

# Enable Web server
web_server:
  port: 80

i2c:
  sda: GPIO18
  scl: GPIO23

# dashboard_import:
#   package_import_url: github://esphome/media-players/raspiaudio-muse-luxe.yaml@main

wifi:
  networks:
  - ssid: !secret wifi_ssid
    password: !secret wifi_pw
#  use_address: 192.168.12.127

improv_serial:

external_components:
  - source: github://pr#3552
    components: [es8388]
    refresh: 0s

media_player:
  - platform: i2s_audio
    name: ${friendly_name}
    dac_type: external
    i2s_lrclk_pin: GPIO25
    i2s_dout_pin: GPIO26
    i2s_bclk_pin: GPIO5
#    i2s_lrclk_pin: GPIO33
#    i2s_dout_pin: GPIO22
#    i2s_bclk_pin: GPIO19
    mode: mono    # stereo will not work as of ESPHOME v. 2022.12
    mute_pin:
      number: GPIO21
      inverted: true

es8388:

sensor:
 - platform: adc
   pin: GPIO33
   name: ${name} Battery
   icon: "mdi:battery-outline"
   device_class: voltage
   state_class: measurement
   unit_of_measurement: V
   update_interval: 15s
   accuracy_decimals: 3
   attenuation: 11db
   raw: true
   filters:
    - multiply: 0.00173913 # 2300 -> 4, for attenuation 11db, based on Olivier's code
    - exponential_moving_average:
        alpha: 0.2
        send_every: 2
    - delta: 0.002
 - platform: wifi_signal
   name: ${friendly_name} WiFi Signal
   update_interval: 60s
 - platform: uptime
   name: ${friendly_name} Uptime
   id: uptime_s
   update_interval: 60s

binary_sensor:
  - platform: gpio
    pin:
      number: GPIO19
      inverted: true
      mode:
        input: true
        pullup: true
    name: ${friendly_name} Volume Up
    on_click:
      - media_player.volume_up:
  - platform: gpio
    pin:
      number: GPIO32
      inverted: true
      mode:
        input: true
        pullup: true
    name: ${friendly_name} Volume Down
    on_click:
      - media_player.volume_down:
  - platform: gpio
    pin:
      number: GPIO12
      inverted: true
      mode:
        input: true
        pullup: true
    name: ${friendly_name} Play Button
    on_click:
      - media_player.toggle:

light:
  - platform: fastled_clockless
    name: ${friendly_name}
    pin: GPIO22
    chipset: SK6812
    num_leds: 1
    rgb_order: grb

text_sensor:
  - platform: wifi_info
    ip_address:
      name: ${name}_ip
    ssid:
      name: ${name}_ssid
    bssid:
      name: ${name}_bssid
  - platform: version
    name: ${friendly_name} ESPHome Version
  - platform: template
    name: ${friendly_name} Uptime (formatted)
    lambda: |-
      uint32_t dur = id(uptime_s).state;
      int dys = 0;
      int hrs = 0;
      int mnts = 0;
      if (dur > 86399) {
        dys = trunc(dur / 86400);
        dur = dur - (dys * 86400);
      }
      if (dur > 3599) {
        hrs = trunc(dur / 3600);
        dur = dur - (hrs * 3600);
      }
      if (dur > 59) {
        mnts = trunc(dur / 60);
        dur = dur - (mnts * 60);
      }
      char buffer[17];
      sprintf(buffer, "%ud %02uh %02um %02us", dys, hrs, mnts, dur);
      return {buffer};
    icon: mdi:clock-start
    update_interval: 60s

switch:
  # Switch to restart the device
  - platform: restart
    name: ${name}_restart