Soundsensor ESP 8266 Lautstärke Licht im Bad

Guten Nachmittag
habe am Wochenende einen Soundsensor nach dieser Anleitung gebastelt:

Nutzen: Wir haben einen Bewegungsmelder im Bad , der jedoch beim Duschen das Licht wieder ausschaltet
Meine angedachte Lösung: Soundsensor merkt eine erhöhte Lautstärke durch das laufende Wasser und das Licht bleibt aktiv bis diese wieder “normal” ist, bzw es leiser ist.
Nun so gut soweit.
Ich habe das Gerät angeschlossen es scheint auch zu funktionieren. Jedoch nur bei sehr extrener Lautstärke fängt es an den Wert zu ändern. Somit isr das Duschen aktuell zu leise um erkannt zu werden.
Habe ich irgendwo ein Fehler gemacht?
Komponenten ESP 8266 und AZDelivery 3 x Hochempfindliches Mikrofon Mikrophon KY-037
Yaml:

> esphome:
  name: soundsensor
  friendly_name: Soundsensor

esp8266:
  board: esp01_1m

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "EquAQqFo8xoApXM3TNY7qfufxwNhrVbBmRGIb+uJe10="

ota:
  password: "3f170f2f5a5fcf9d85d6ff12792a0b59"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Soundsensor Fallback Hotspot"
    password: "5zj0A58rQS6M"

captive_portal:

globals:

  - id: esphome_sensitivity
    type: float
    initial_value: '36.5'
    restore_value: yes

  - id: esphome_volume
    type: int

sensor:
  - platform: adc
    pin: A0
    id: esphome_db
    device_class: signal_strength
    name: "Db SoundEsp"
    icon: "mdi:volume-vibrate"
    unit_of_measurement: "db"
    update_interval: 5s
    raw: true
    filters:
      - lambda: |-
          unsigned int sample;
          unsigned long startMillis= millis(); 
          float peakToPeak = 0; 
          unsigned int signalMax = 0;
          unsigned int signalMin = 1024;
          while (millis() - startMillis < 500) {
            sample = analogRead(A0);
            if (sample < 1024){
                if (sample > signalMax){
                    signalMax = sample;
                }
                else if (sample < signalMin){
                    signalMin = sample;
                }
              }
          }
          peakToPeak = map((signalMax - signalMin),1,1024,1.5,1024);
          id(esphome_volume) = peakToPeak;
          float state = id(esphome_sensitivity)*log10(peakToPeak)+15;  
          return(state);

  - platform: template
    name: "Volume SoundEsp"
    icon: "mdi:volume-high"
    unit_of_measurement: "%"
    update_interval: 5s
    lambda: return(map((id(esphome_db).state),15,150,0,100));

  - platform: template
    name: "RAW SoundEsp"
    icon: "mdi:volume-source"
    unit_of_measurement: "%"
    update_interval: 5s
    lambda: return(map(id(esphome_volume),1,1024,0,100));

number:
  - platform: template
    id: sensitivity_slider
    name: "Sensitivity SoundEsp"
    icon: "mdi:knob"
    update_interval: 5s
    initial_value: "36.5"
    step: 0.1
    min_value: 20
    max_value: 40
    mode: slider
    set_action:
      then:
        - lambda:  id(esphome_sensitivity) = x;

Hast du schon an der Empfindlichkeit des Mikrofonmoduls gedreht?
Wird auf einer der LEDs signalisiert wenn er Geräusch erkennt, dann kannst du vorsichtig am Trimmer/Drehko drehen. Achtung, hier kann schon eine sehr kleine Drehung was bewirken!

Ansonsten könntest du vielleicht das Mikrofon noch irgendwo direkt an der Wasserleitung horchen lassen.