Szene mit einem Button (Doppel- oder Einzelklick)

OK, machen wir das :smiley:

Ah super, ich dachte, du würdest hart arbeiten :winking_face_with_tongue:

Nur eine kleine Rückmeldung, wurde das Problem im PR Zigbee2mqtt behoben?

@lmilcent hast du es geschafft, deine Szenen zu erstellen? :slight_smile:

Nein, ich habe zwei Probleme:

1- Mein Küchenschalter wird von Gladys als Steckdose erkannt.

2- Mein Funkschalter ist immer noch nicht steuerbar, selbst wenn ich 1 als Standardwert verwende.

Ok, @cicoub13 könnt ihr das zusammen anschauen? :slight_smile:

Ich erinnere mich an das Problem: Die Funktion „Switch“ ermöglicht die Steuerung des Lichts vom Dashboard aus mit einem Knopf.
Aber in den Szenen wird es als Steckdose erkannt.

Die Funktion „light“ ermöglicht die Steuerung in den Szenen, um das Licht einzuschalten, aber nicht, um den Knopf am Dashboard zu haben.

Welche ist die richtige Funktion in diesem Fall?

Kein Button auf dem Dashboard? Sind Sie sicher, dass Sie einen Feature-Typ mit den folgenden Merkmalen definiert haben:

  • category: light
  • type: binary

?

Alle anderen Integrationen, die Lampen verwalten (Philips Hue, MQTT, usw.), sind sowohl in den Szenen als auch auf dem Dashboard steuerbar.

@cicoub13 Ich erinnere mich nicht mehr an die Datei, die die Zuordnung verwaltet, aber das muss der Fehler sein!

Bei den Modellen müssen Sie auch eine Überprüfung vornehmen. Typischerweise ist mein Schalter falsch deklariert (Switch statt light).

Ich glaube, wir hatten diese Diskussion schon, aber ein Schalter ist ein Schalter :slight_smile: Man kann nicht wissen, was er steuert (eine Lampe oder etwas anderes).

Wenn wir über das Modell WXKG06LM sprechen, ist es deklariert mit:
category: DEVICE_FEATURE_CATEGORIES.BUTTON,
type: DEVICE_FEATURE_TYPES.BUTTON.CLICK,

Ich werde das Verhalten für die Werte vereinheitlichen und eine einfachere UX in den Szenen vorschlagen.

Ist das wirklich bei diesem Modell der Fall?

Ich stimme zu, dass es sich bei einer Fernbedienungssteckdose um alles Mögliche dahinter handeln kann, aber in diesem Fall, wird das von Leuten für etwas anderes als eine Lampe verwendet?

Idealerweise sollte man in der UI neu kategorisieren können, wenn die Nutzung so „vielfältig“ ist.

Ich bin derselben Meinung wie @cicoub13, ein Schalter sollte automatisch eine dedizierte Schaltfläche in der Benutzeroberfläche vorschlagen, wie die Switch.

Selbst wenn er kein Licht direkt steuert.

Bisher habe ich die Verwaltung der Wertwiederherstellung im Zigbee-Pull-Request hinzugefügt.
Anstatt die Werte single, double und long zu haben, wird der Zustand 1, 2 oder 5 sein.

Damit kannst du sie in den Szenen verwenden :rocket: @lmilcent Kannst du das neue Bild testen?

Wie zuvor erwähnt, ich würde gerne an der Benutzeroberfläche arbeiten und einen einfacher zu bedienenden Knopf in den Szenen (und für die Anzeige in den Boxen) vorschlagen + die Vereinheitlichung zwischen dem Xiaomi-Dienst und Zigbee2Mqtt (einzige Dienste, die diesen Gerätetyp button verwenden).

Aber ich denke, es ist besser, das in einem anderen Pull-Request zu machen und vor allem würde ich gerne hier Spezifikationen teilen, bevor ich beginne :wink:

Um stattdessen ein Lichtmerkmal hinzuzufügen, erscheint mir das im Moment zu komplex. Ich müsste den eigentlichen Zigbee-Typ und den Gladys-Typ jedes Merkmals beibehalten, um die Werte konvertieren zu können UND Aktionen an Zigbee zu senden (was für diese Geräte unmöglich ist).

Das funktioniert perfekt!!

Warum 1, 2 oder 5?

Mir schien, wir wollten es wie auf Xiaomi-Ebene?

const SWITCH_STATUS = {
NO_CLICK: 0,
CLICK: 1,
DOUBLE_CLICK: 2,
LONG_CLICK_PRESS: 3,
LONG_CLICK_RELEASE: 4,
};

Ich bin einverstanden! Ich denke, es ist ein anderer PR und wir müssen definitiv darüber diskutieren!

Ich habe den NO_CLICK (der keinen Sinn ergab) entfernt und der Schalter WXKG06LM sendet ein Hold-Ereignis in Zigbee (äquivalent zu einem LONG_CLICK). Er verarbeitet nicht den Druck (press) und das Loslassen des Drucks (release).

Ich habe daher die Werte 3 und 4 beibehalten, um den Xiaomi-Service nicht zu beschädigen (Fall anderer Schalter) und habe:

const BUTTON_STATUS = {
  CLICK: 1,
  DOUBLE_CLICK: 2,
  LONG_CLICK_PRESS: 3,
  LONG_CLICK_RELEASE: 4,
  LONG_CLICK: 5,
};

@cicoub13 ok das klingt gut :slight_smile:

Perfekt für die Abwärtskompatibilität

Können diese letzten Entwicklungen mein Problem lösen?

Ich möchte meinen Aqara-Schalter verwenden, um mit einem einfachen Klick eine Lampe ein- und auszuschalten.
Ich erstelle eine Szene des Typs

Auslöser: Zustandsänderung > Schalter = 1
Aktion: Licht einschalten (wird derzeit als Schalter erkannt)

Ich kann also mein Licht mit einem einfachen Klick einschalten… aber ich kann nicht mit einem einfachen Klick ausschalten, oder ich habe es nicht verstanden.

Ich habe einen Aqara-Knopf und eine Smart Steckdose.

  • Szene 1: Bei einfachem Klick, wenn ausgeschaltet, Steckdose einschalten.
  • Szene 2: Bei einfachem Klick, wenn eingeschaltet, Steckdose ausschalten.

Löst das dein Problem?

A priori könnte das das Problem lösen, aber ich habe zwei Anmerkungen:

  • In diesem Abschnitt weiß ich absolut nicht, was ich eintragen soll:


    Ich habe nichts in den select

  • Selbst wenn es funktioniert, muss ich sagen, dass es für mich nicht besonders intuitiv ist.
    Ich hätte eher eine UND-Funktion gesehen:
    WENN einfacher Klick UND Licht aus > Licht/Steckdose einschalten

Ah ah, das war gerade vor Kurzem das Thema einer Diskussion mit @pierre-gilles :laughing:

Vor jedem „Fortsetzen wenn“ muss man einen Block „Letzten Wert abrufen“ verwenden.
Danach wählst du dein Licht aus, und 1 = an, 0 = aus.