Helligkeit toggeln (50% <=> 100%) / IKEA KAJPLATS

Hallo Zusammen,

Ich möchte:
Taster 2x drücken und je nach IST Zustand die Helligkeit entweder auf 127 (50%) oder 255 (100%) ändern.

Software
HA OS (aktuell) / normales EIN/AUS Schalten funktioniert bereits einwandfrei
Blueprint: IKEA BILRESA E2489 Dual Button (Matter)

Hardware:
ESP Open Thread Border Router (funktioniert einwandfrei)
BILRESA Dual Button Fernbedienung (funktioniert / ein/aus der zugewiesenen Lampe geht)
KAJPLATS E27 WS globe 1055lm “Birne” (war mit BILRESA im “Starterpack”)

Was bereits funktioniert:
Ich kann die Lampe per Dasboard komplett steuern inkl. ein/aus, Helligkeit, Farbtemperatur, ….
Die Steuerung über die mitgelieferte BILRESA Fernbedienung funktioniert auch, jedoch kann ich hier momentan nur ein/aus schalten per TOGGLE in einer Automation über das oben genannte Blueprint (Taste 1x drücken).

Beide Tasten der Fernbedienung wurden identisch eingestellt und sollen das Gleiche machen, da man mobil in der Dunkelheit nicht sieht, welche Taste man drückt und man das auch nicht wirklich erfühlen kann.
Das soll auch so für die Helligkeit gelten.

Was ich möchte:
Per Doppeldruck auf eine der beiden Tasten soll die Helligkeit zwischen 127 (50%) und 255 (100%) hin und her schalten, wenn die Lampe an ist.

Hier komme ich nun nicht weiter, da ich bei den Automationen und in den Entitäten keine Helligkeit ändern kann.
Daher müsste das wohl in YAML gelöst werden.
Da ich aber noch nicht so lange mit solchen “Sonderwünschen” vertraut bin und YAML auch erst wenig benutzt habe, wäre ich um jeden Tipp dankbar.

Den Fritzbox Callmonitor konnte ich Dank Infos per YAML einbinden und anpassen aber bei dem hier gewünschten Szenario fehlt mir schon der einfache Befehl, um die Helligkeit auf einen bestimmten Wert zu ändern.
Das soll zwar beim Einschalten per Parameter mit übergeben werden können aber wenn die Lampe schon an ist (und auch nur dann), soll der Wert nachträglich durch einen Doppeldruck geändert werden.

Lampe aus,
1x Taster drücken => Lampe an (mit letztem Helligkeitswert),
2x Taster drücken => Lampe entweder auf 127/50% oder 255/100% umschalten,
1x Taster drücken => Lampe wieder aus,
2x Taster drücken => Nichts tun, wenn Lampe aus

Ich hoffe, ich konnte das halbwegs verständlich darstellen.

Über Hinweise würde ich mich freuen.

LG Net

Aktion.light turn on , dort die Attribute mitgeben

1 „Gefällt mir“

Hallo,

das geht auch ohne YAML.

1 „Gefällt mir“

@Thomassh
Danke, das war auch das, was ich inzwischen herausgefunden habe.
Die Helligkeit lässt sich also nur beim Einschalten ändern, auch wenn die Lampe bereits an ist.

@rstuck
Danke auch Dir, ich habe das inzwischen auch gefunden.
Mir fehlt nur noch die Routine zum Toggeln.

Ich hatte diverse Wenn/Dann Abfragen durch, bei denen ich die Helligkeit entsprechend umschalte, je nachdem, was vorher gesetzt war.

Aber ein Doppeldruck auf der Fernbedienung änderte nichts.
Ich muss da wohl weiter suchen.

Danke und LG
Net

Zeig doch mal was du schon hast. Dann kann ich dir bestimmt besser helfen.

Danke für Dein Angebot.
Ich habe aktuell alle Automationsversuche gelöscht, damit meine Holde das Licht wieder einfach ein und aus schalten kann.
Ich baue meinen letzten Versuch nochmal zusammen und poste ihn hier.
Bin nur gerade etwas anderweitig im Stress aber ich eile …. :wink::laughing:

Du kannst Automationen auch deaktivieren, dann werden sie nicht ausgeführt.

1 „Gefällt mir“

Ja, ich weiß, ich wollte halt eh nochmal ganz von vorne beginnen.

Hier nun der Blueprint und die beiden Bedingungen beim Doppeldruck Button 1 als Aktion:

Dabei habe ich mich so durchgeklickt:

Bei Double Press Button 2:

Aktion hinzufügen
Bausteine
wenn-dann Baustein (Eine Aktion nur unter einer Bedingung ausführen)
  wenn:
    Bedingung hinzufügen:
      Bausteine:
	    & Und (wenn 2 Bedingungen erfüllt sind)
		  Bedingung hinzufügen:
		    Gerät: (Stehlampe oben)
			Wenn Stehlampe oben eingeschaltet ist
		  Bedingung hinzufügen:
		    Entität: Numerischer Zustand:
			  Entität: Stehlampe oben
			  Attribut: Helligkeit
			  Untergrenze: Feste Zahl: Über 0%
			  Obergrenze: Feste Zahl: Unter 51%
			  (Bereich also 1%-50%)
  dann:
    Gerät:
	  Stehlampe oben
	  Aktion: Stehlampe oben einschalten
	  Helligkeit: 100%

Aktion hinzufügen
Bausteine
wenn-dann Baustein (Eine Aktion nur unter einer Bedingung ausführen)
  wenn:
    Bedingung hinzufügen:
      Bausteine:
	    & Und (wenn 2 Bedingungen erfüllt sind)
		  Bedingung hinzufügen:
		    Gerät: (Stehlampe oben)
			Wenn Stehlampe oben eingeschaltet ist
		  Bedingung hinzufügen:
		    Entität: Numerischer Zustand:
			  Entität: Stehlampe oben
			  Attribut: Helligkeit
			  Untergrenze: Feste Zahl: Über 50%
			  (Bereich also 51%-100%)
  dann:
    Gerät:
	  Stehlampe oben
	  Aktion: Stehlampe oben einschalten
	  Helligkeit: 50%

Das Ganze ergab dann diesen YAML Code:

if:
  - condition: and
    conditions:
      - condition: device
        type: is_on
        device_id: cee38ee2ad73f4b94de9e98dfaf9e0a4
        entity_id: 4f423d9ad2af8228352d4158b53908c9
        domain: light
      - condition: numeric_state
        entity_id: light.stehlampe_oben
        attribute: brightness_pct
        below: 51
then:
  - type: turn_on
    device_id: cee38ee2ad73f4b94de9e98dfaf9e0a4
    entity_id: 4f423d9ad2af8228352d4158b53908c9
    domain: light
    brightness_pct: 100

und

if:
  - condition: and
    conditions:
      - condition: device
        type: is_on
        device_id: cee38ee2ad73f4b94de9e98dfaf9e0a4
        entity_id: 4f423d9ad2af8228352d4158b53908c9
        domain: light
      - condition: numeric_state
        entity_id: light.stehlampe_oben
        attribute: brightness_pct
        above: 50
then:
  - type: turn_on
    device_id: cee38ee2ad73f4b94de9e98dfaf9e0a4
    entity_id: 4f423d9ad2af8228352d4158b53908c9
    domain: light
    brightness_pct: 50

Irgendwo habe ich da einen Logik- und/oder Denkfehler drin ….

Wie geschrieben, beim Button 1 Doppeldruck passiert gar nix.

Ich möchte dir empfehlen anstatt mit Geräten mit Entitäten zu arbeiten. Das macht den YAML-Code besser lesbar und hat noch mehr Vorteile wenn Mal ein Gerät ausgetauscht werden muss.

Bedingungen musst du nicht und verknüpfen daß sind sie standardmäßig.

1 „Gefällt mir“

Wenn man über die GUI erstellt werden immer Geräte und ids verwendet

Das kann ich nicht bestätigen. Ich erstelle fast ausschließlich über das GUI und verwende nie Geräte.

Auslöser:
Hier wählst Du Entität aus. Danach, je nach dem Zustand oder Numerischer Zustand und wählst eine Entität aus.

Bedingungen:
Hier wählst Du Entität aus. Danach je nach dem Zustand oder Numerischer Zustand und wählst eine Entität aus.

Aktionen:
Hier musst Du mit einer Aktion starte. z.B. Leuchte einschalten. Als Ziel gibst Du dann eine Entität an.

BSP.:

description: ""
mode: single
triggers:
  - trigger: state
    entity_id:
      - binary_sensor.bewegungsmelder_garten
conditions:
  - condition: numeric_state
    entity_id: sensor.garten_lux
    below: 20
actions:
  - action: light.turn_on
    metadata: {}
    target:
      entity_id: light.wegbeleuchtung
    data: {}

Gruß Osorkon

2 „Gefällt mir“

Danke wieder was gelernt.

Intuitiv ist aber anders :weary_face:

Danke für den Tipp, ich werde das mal etwas umbauen.
Also die unnötige UND Verknüpfung entfernen und statt Geräte eben Entitäten verwenden.

Es hätte mich aber trotzdem schon interessiert, warum das Ganze nicht funktioniert.
Ich geh dann mal umbauen ….

Wenn es nach dem Umbau auch nicht funktioniert siehe dir mal dir Traces-Ausgabe an.

1 „Gefällt mir“

So, habe jetzt so umgebaut:

Doppeldruck auf Taster 1:

if:
  - condition: state
    entity_id: light.stehlampe_oben
    state:
      - "on"
  - condition: numeric_state
    entity_id: light.stehlampe_oben
    attribute: brightness_pct
    below: 51
then:
  - type: turn_on
    device_id: cee38ee2ad73f4b94de9e98dfaf9e0a4
    entity_id: 4f423d9ad2af8228352d4158b53908c9
    domain: light
    brightness_pct: 100

und

if:
  - condition: state
    entity_id: light.stehlampe_oben
    state:
      - "on"
  - condition: numeric_state
    entity_id: light.stehlampe_oben
    attribute: brightness_pct
    above: 50
then:
  - type: turn_on
    device_id: cee38ee2ad73f4b94de9e98dfaf9e0a4
    entity_id: 4f423d9ad2af8228352d4158b53908c9
    domain: light
    brightness_pct: 50

Beim Einschalten habe ich leider keine Entität gefunden im Bereich “dann:” ….

Traces schaue ich mir an, habe ich noch nie gemacht, bin gespannt.

EDIT:
Hier stand viel Unnützes, da der Fehler woanders lag ….
Danke für den Tipp mit den Traces.

Ok, ich habe folgenden Fehler gefunden:

message: attribute 'brightness_pct' of entity light.stehlampe_oben does not exist

Ich dachte, ich könnte brightness (0-255) in brightness_pct ändern, da das Einschalten halt nur mit Prozentwerten funktioniert und ich beide Bereiche nicht mischen wollte.

Aber jetzt habe ich einen möglichen Grund.

:crayon:by HarryP: Zusammenführung Mehrfachpost (bei Änderungen oder hinzufügen von Inhalten bitte die „Bearbeitungsfunktion“ anstatt „Antworten“ zu nutzen)

So, es funktioniert und ich konnte auch die passende Entität finden und im visuellen Editor wurden auch alle möglichen Parameter (Lichtfarbe, Farbe, Übergangszeit, Einschaltdauer, ….) visuell auswählbar sind.

Hier die Lösung der beiden Bedingungen:

if:
  - condition: state
    entity_id: light.stehlampe_oben
    state:
      - "on"
  - condition: numeric_state
    entity_id: light.stehlampe_oben
    attribute: brightness
    below: 128
then:
  - action: light.turn_on
    metadata: {}
    target:
      entity_id: light.stehlampe_oben
    data:
      brightness: 255

und

if:
  - condition: state
    entity_id: light.stehlampe_oben
    state:
      - "on"
  - condition: numeric_state
    entity_id: light.stehlampe_oben
    attribute: brightness
    above: 127
then:
  - action: light.turn_on
    metadata: {}
    target:
      entity_id: light.stehlampe_oben
    data:
      brightness: 127

Ganz herzlichen Dank nochmal für Eure Inputs.

Es freut mich das jetzt alles funktioniert

Danke, mich auch. :slightly_smiling_face::innocent: