Problem mit Szene + Fake MQTT-Gerät

Hallo zusammen,

ich habe während des Videocalls mein Problem mit der Erstellung einer Szene erwähnt, um den Alarmanlagenmodus des Hauses zu aktivieren/deaktivieren. Ich habe mich für eine sehr einfache Version entschieden… aber ich glaube, ich habe einen Bug.

Wenn ich den ÜBERWACHUNGS-Modus mit einem langen Klick auf einen Button aktiviere, dann:

  • wechselt mein Fake-MQTT-Gerät, das den Überwachungszustand (AUS / AN, oder eher 0 / 1) bestimmt, auf den Wert 1 > Ich sehe dann auf meinem Dashboard, wie der Schalter einfach auf Blau wechselt.
  • Ich habe auch ein Blinken meiner Lichter, um mir visuell die Aktion zu Hause zu bestätigen.
  • Ich erhalte eine Telegramm-Nachricht

Aber wenn ich den ÜBERWACHUNGS-Modus mit einem einfachen Druck auf den Button deaktiviere:

  • wird die Telegramm-Nachricht gesendet
  • die Lichter blinken
  • ABER das Fake-MQTT-Gerät wechselt nicht auf Null (Status AUS), zumindest ändert sich der Zustand auf meinem Dashboard nicht.

Falls jemand eine Idee hat, wie man das debuggen kann …

Hier sind die Screenshots meiner Szenen und meines MQTT-Geräts:



Hallo @guim31
und wenn du deine Webseite (Dashboard) aktualisierst, wird sie dann aktualisiert?

Nein, es bleibt auf „AN“.

Ist es eine bewusste Entscheidung, „Gerät steuern“ statt „Zustandsänderung eines Geräts“ zu verwenden?
Kannst du das mal versuchen? Ich denke, „Gerät steuern“ ist für Lampen mit Farb- oder Helligkeitssteuerung.

Ich verstehe deine Bemerkung nicht ganz.. :thinking:
Ein Zustandswechsel eines Geräts ist ein Auslöser.
Während das Steuern eines Geräts eine Aktion ist.

Ja, entschuldige, ich habe mich vertan. Ich wollte eher sagen, dass du statt « Gerät steuern » « Licht einschalten » verwenden solltest.
Ich verwende eine ähnliche Szene wie du, die mir ein virtuelles Gerät anzeigt, wenn ich auf einen Sonoff-Knopf für die Aktivierung meines Alarms drücke (der mir eine Nachricht schickt, wenn eine Tür oder ein Fenster geöffnet wird, und wenn ich den Alarm ausschalte, erhalte ich keine Nachricht mehr, wenn er geöffnet wird).
Daher verwende ich ein virtuelles Gerät, das durch « Licht einschalten » aktiviert wird, was auf dem Dashboard aktiv oder inaktiv anzeigt, aber ich verwende zwei Szenen, eine, die den Alarm einschaltet, und eine, die ihn ausschaltet.
image
image
Auch mein virtuelles Gerät ist ein Sensor, ich habe das Kästchen in der MQTT-Deklaration angekreuzt, du anscheinend nicht.

Das ist eine gute Idee!
Tatsächlich hatte ich „Sensor“ für mein Fake-Gerät nicht aktiviert, denn sonst konnte ich es nicht mehr manuell auslösen (was ich ursprünglich vorhatte).
Ich werde das morgen testen und sehen, was passiert!

Aber grundsätzlich wäre es gut zu verstehen, warum dieser Schalter nicht in den AUS-Zustand wechseln will.

Ja, tatsächlich,
Man sollte das Problem mit Node Red umgehen können, ansonsten

mit Node-RED:


In der virtuellen Alarmvorrichtung (virtueller Sensor) gibst du im Thema ein:
« gladys/device/mqtt:xxxxxxxxxxxxx »
Und in der Alarmtaste (virtuelle Taste im Dashboard) gibst du im Thema ein:
« gladys/master/device/mqtt:xxxxxxxxxxxxx »
Wenn ich meinen Sonoff-Knopf betätige, wird die Dashboard-Taste positioniert und wenn ich den virtuellen Alarmknopf (der es mir ermöglicht, die Alarmanlage über das Dashboard zu aktivieren) betätige, wird der virtuelle Alarmsensor positioniert. Ich habe das gestern getestet und gesehen, dass ich dasselbe Problem wie du habe.

Ich muss irgendwo ein Problem haben: Ich habe mein Fake-Gerät in eine Lampe umgewandelt…
Aber das Problem besteht weiterhin: Beim Alarm-Stopp-Szenario bleibt das Gerät an

image

Mist, ich hatte deine Nachricht nicht gesehen, als ich meine gepostet habe.

Es gibt also tatsächlich einen Bug in dieser Art von Szene… allerdings bin ich nicht in der Lage, das zu debuggen… @pierre-gilles vielleicht könntest du da mal einen Blick drauf werfen? Soll ich eine Issue auf Github erstellen?

In der Zwischenzeit werde ich mich mit node-red durchmogeln, wie du es mir gezeigt hast @Psoy :+1:

Ich wäre dir dankbar, wenn du ein Github-Issue mit dem einfachsten Beispiel erstellen könntest, das erklärt, wie man den Fehler reproduzieren kann :slight_smile: