Frage zu EspHome und wie ich die Daten aus HS auswerten/nutzen kann

Hallo Forumgemeinde,

Das hier ist mein erster Post und ich beschäftige mich auch erst wenige Tage/Wochen mit ESPHome. Ich konnte mir, mit Hilfe dieses Forums, schon einige Dinge erklären. Ich programmiere auch Mikrocontroller in C und kenne mich daher schon mit dem Programmieren aus. Aber jetzt bin ich leider an einem Punkt, an dem ich nicht mehr weiterkomme und möchte mir hier im Forum Rat holen.

Zuerst habe ich mich mit einem Taster beschäftigt und jetzt nutze ich eine RF-Fernbedienung, um meine „Stehlampe“ zu bedienen. Mit einem kurzen Tastendruck schalte ich die „WLEDs“ ein/aus, mit einem langen Tastendruck dimme ich hoch/runter. Das klappt auch fast alles so, wie ich es mir vorgestellt habe. Es fehlt mir jetzt noch eine Kleinigkeit, die mich echt Ratlos macht. Ich habe so viele Foren durchforstet, aber ich komme einfach nicht mehr weiter.

Um das Problem kurz zu erklären, zeige ich den Teil meiner .yaml- Datei, der für das Herunterdimmen zuständig ist:

  - platform: remote_receiver
    id: "rf_remote_4_off"
    name: "Button [4] OFF"
    rc_switch_raw:
      protocol: 2
      code: '011011001001001110100111101011101111xxxx'
    # set filter to eliminate bouncing
    filters:
      - delayed_off: 100ms
    # when a rising edge has been detected
    on_press:
      then:
        # wait to decide for a long or short press
        - delay: 250ms
        - if:
            # has the button already been released...
            condition:
               binary_sensor.is_off: rf_remote_4_off
            # ... then it was a short press
            then:
              - logger.log: "short press => off"
              - homeassistant.service:
                  service: light.turn_off
                  data:
                    entity_id: light.stehlampe              
            # otherwise it was a long press
            else: 
              while:
                condition:
                  binary_sensor.is_on: rf_remote_4_off
                then:
                - logger.log: "long press => dimming down"
                - homeassistant.service:
                    service: light.turn_on     
                    data:
                      brightness_step_pct: '-10'
                      entity_id: light.stehlampe              
                # dimming steps
                - delay: 500ms

Die vielen Kommentare sind nur für mich, am Anfang, hilfreich. Und ja, ein Taster einer Fernbedienung prellt nicht, aber ich habe ja mit einem Taster angefangen und damit hat es super geklappt.

Mein Problem, was ich habe, ich möchte nur so lange herunter dimmen, wenn die aktuelle Brighness >11 ist. Ich möchte nicht, dass das Licht, beim Dimmen, AUS geht. Aber ich weiß nicht, wie ich an die Daten komme, um das realisieren zu können.

Ich habe viel mit den Templates (Lambda) probiert, aber das hat alles nicht funktioniert.

Ich habe es verstanden, dass man über „- homeassistant.service:“ an die Entitäten von HA kommt.

Ich bräuchte also die Möglichkeit, von meiner Stehlampe, den aktuellen Helligkeitswert auszuwerten, um dann zu entscheiden, ob weiter herunter gedimmt werden kann, oder nicht. Für die Stehlampe habe ich keine eindeutige Entität, die mir ein Wert für die Helligkeit zur Verfügung stellt.

So etwas in der Art:

If( id(stehlampe).brightness > 11) {
	brightness_step_pct: '-10'
}

Wie gesagt, ich gehe davon aus, dass man das am besten mit einem Lambda- Anweisung macht.

Die zweite Frage habe ich dann auch noch, wie ich die Brighness Entität dann auf dem Log ausgeben kann.

Für Lambda gibt es ja das „ESP_LOGD:“ aber mit fehlt der „Datenpunkt" und wie ich das in Lambda überhaupt rein bekomme. (das ist ja schon mein erstes Problem)

Könnte mir jemand hier im Forum einen Tipp geben, wie ich an die Daten meiner Stehlampe komme?

Ich wäre über jeden Hinweis sehr dankbar.

Viele Grüße und frohe Ostern noch…