[gelöst] sequence: funktioniert nicht in der abgekürzten Form

Begonnen von Gisbert, 25 Mai 2019, 09:47:55

Vorheriges Thema - Nächstes Thema

Gisbert

Hallo,

ich habe folgendes, funktionierendes Device mit dem sequence-Modul, d.h. das Device triggert, wenn die definierte Reihenfolge eingehalten wird:
defmod Roll.SchlafzimmerGisbert.Luecke sequence RollladenSchlafzimmerGisbert.POWER2:.ON 3 RollladenSchlafzimmerGisbert.POWER2:.OFF 3 RollladenSchlafzimmerGisbert.POWER2:.ON 3 RollladenSchlafzimmerGisbert.POWER2:.OFF

Wenn ich laut commandref die verkürzte Version wähle, dann wird nicht getriggert.

commandref:
Subsequent patterns can be specified without device name as :<re2>. This will reuse the device name which triggered the previous sequence step:
    define lampseq sequence Btn.:on 0.5 :off


Meine verkürzte Definition, die nicht triggert:
defmod Roll.SchlafzimmerGisbert.Luecke sequence RollladenSchlafzimmerGisbert.POWER2:.ON 3 :.OFF 3 :.ON 3 :.OFF

Alles in allem kein echtes Problem, da die vollständige Variante funktioniert, aber da die verkürzte Version viel übersichtlicher ist, möchte ich fragen, woran es liegen könnte.

Vielen Dank und viele Grüße
Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

ujaudio

Du hast mehrfach das GLEICHE Ereignis "RollladenSchlafzimmerGisbert.POWER2" aber in der commandref werden verschiedene Ereignisse für das Beispiel vorausgesetzt. Außerdem steht in der commandref der Punkt vor dem Doppelpunkt, bei dir dahinter. Vielleicht hilft dir dieser Hinweis, ich selbst habe sequence noch nicht verwendet.
Einen lieben Gruß
Jürgen

Gisbert

Hallo Jürgen,

an dem gleichen Ereignis könnte es liegen, ist aber nur Spekulation, da wir beide das nicht überprüfen können.

Der Punkt nach dem Doppelpunkt war notwendig, da das Event mit einem Leerzeichen erzeugt wird; ohne den Platzhalter Punkt (für genau ein beliebiges Zeichen) triggert das Device nicht.

Dennoch vielen Dank und viele Grüße​
Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

rudolfkoenig

ZitatDer Punkt nach dem Doppelpunkt war notwendig, da das Event mit einem Leerzeichen erzeugt wird
Welches Modul macht sowas? Ist mAn falsch.

Da ich auf Anhieb keine Events mit Leerzeichen am Anfang erzeugen kann, habe ich es ohne Leerzeichen getestet, mit einem dummy, der modifizierten sequence Definition und dem trigger Befehl: ich sehe kein Problem mit der verkuerzten Variante.
Zum Lokalisieren des Problems empfehle ich triggerPartial zu setzen, und den Event-Monitor zu beobachten.

amenomade

Zitat von: Gisbert am 25 Mai 2019, 10:36:50
Der Punkt nach dem Doppelpunkt war notwendig, da das Event mit einem Leerzeichen erzeugt wird; ohne den Platzhalter Punkt (für genau ein beliebiges Zeichen) triggert das Device nicht.
Wenn Du die Zeile des Events im Eventmonitor markierst, und auf "Create/modify device" klickst, was erzeugt er für ein define notify?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Gisbert

Hallo Rudi und amenomade,

zum Testen habe ich ein vergleichbares Gerät benutzt, das ich noch im Testaufbau habe; lediglich der Name des Devices ist verständlicherweise anders.

Wenn ich die 4 Schaltvorgänge ausführe, dann erhalte ich im Eventmonitor folgende Einträge:
2019-05-25 15:30:19 MQTT_DEVICE RollladenSchlafzimmerFelix RESULT: {"POWER2":"ON"}
2019-05-25 15:30:20 MQTT_DEVICE RollladenSchlafzimmerFelix POWER2: ON
2019-05-25 15:30:22 MQTT_DEVICE RollladenSchlafzimmerFelix RESULT: {"POWER2":"OFF"}
2019-05-25 15:30:22 MQTT_DEVICE RollladenSchlafzimmerFelix POWER2: OFF
2019-05-25 15:30:23 MQTT_DEVICE RollladenSchlafzimmerFelix RESULT: {"POWER2":"ON"}
2019-05-25 15:30:23 MQTT_DEVICE RollladenSchlafzimmerFelix POWER2: ON
2019-05-25 15:30:25 MQTT_DEVICE RollladenSchlafzimmerFelix RESULT: {"POWER2":"OFF"}
2019-05-25 15:30:25 MQTT_DEVICE RollladenSchlafzimmerFelix POWER2: OFF


"Create/modify device" im Eventmonitor generiert folgende Definition:
define RollladenSchlafzimmerFelix_sequence_1 sequence RollladenSchlafzimmerFelix:POWER2:.ON 00:15 RollladenSchlafzimmerFelix:POWER2:.ON
d.h. mit Punkt nach dem Doppelpunkt. Damit dürfte klar sein, dass der Punkt offensichtlich notwendig ist.

Bei dem Gerät handelt es sich um einen mit Tasmota geflashten ESP8266.

Zur Verifikation habe ich nochmals folgende sequence-Definitionen getestet, die aber alle nicht triggern:
defmod Roll.SchlafzimmerFelix.Luecke sequence RollladenSchlafzimmerFelix.POWER2:ON 3 RollladenSchlafzimmerFelix.POWER2:OFF 3 RollladenSchlafzimmerFelix.POWER2:ON 3 RollladenSchlafzimmerFelix.POWER2:OFF (d.h. ohne Punkt)
defmod Roll.SchlafzimmerFelix.Luecke sequence RollladenSchlafzimmerFelix.POWER2:.ON 3 :.OFF 3 :.ON 3 :.OFF
defmod Roll.SchlafzimmerFelix.Luecke sequence RollladenSchlafzimmerFelix.POWER2:.ON 00:03 :.OFF 00:03 :.ON 00:03 :.OFF


Soweit so gut, ich will aber hier keinen Stress für eine Sache machen, die ja in der ausgeschriebenen Variante funktioniert.
Mir ist es halt aufgefallen, und ich dachte, dass ich posten sollte.

Während ich schreibe, fällt mir auf, dass die aus dem Eventmonitor generierte Definition einen Doppelpunkt im Namen (zwischen Felix und POWER2) hat, also hab ich das auch ausprobiert.
Das funktioniert, d.h. es wird getriggert:
defmod Roll.SchlafzimmerFelix.Luecke sequence RollladenSchlafzimmerFelix:POWER2:.ON 3 RollladenSchlafzimmerFelix:POWER2:.OFF 3 RollladenSchlafzimmerFelix:POWER2:.ON 3 RollladenSchlafzimmerFelix:POWER2:.OFF
Das funktioniert nicht, es wird nicht getriggert:
defmod Roll.SchlafzimmerFelix.Luecke sequence RollladenSchlafzimmerFelix:POWER2:.ON 3 :.OFF 3 :.ON 3 :.OFF

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Gisbert

Hallo Rudi und amenomade,

ich nochmal, so jetzt hab ich's, glaube ich, kapiert.

Diese Definition funktioniert:
defmod Roll.SchlafzimmerFelix.Luecke sequence RollladenSchlafzimmerFelix:POWER2:.ON 3 :POWER2:.OFF 3 :POWER2:.ON 3 :POWER2:.OFF
Die Definition ist nicht ganz so kurz wie vermutet, aber dennoch kürzer.
Hilfe durch Selbsthilfe :)  ;) - in meinen Fall, solange probieren, bis alle Möglichkeiten durch sind.

Vielen Dank und viele Grüße
Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

rudolfkoenig

Zitatin meinen Fall, solange probieren, bis alle Möglichkeiten durch sind.
Ich meine das haette man auch durch Lesen der Doku ableiten koennen. In
Zitat2019-05-25 15:30:20 MQTT_DEVICE RollladenSchlafzimmerFelix POWER2: ON
ist RollladenSchlafzimmerFelix Name des Geraetes, und Event ist "POWER2: ON".
Und laut sequence Doku kann man den Namen des Geraetes sparen.

Durch lesen der sequence Definition hatte ich angenommen, dass dein Geraet RollladenSchlafzimmerFelix.POWER2 heisst, ich habe mein Dummy beim Testen auch so genannt.

Gisbert

Hallo Rudi,

hast ja Recht, und ich hab durch die Beschäftigung mit diesem Modul wieder etwas über den Eventmonitor dazu gelernt.
Ich hab mich von meiner Erwartung bzw. Vermutung leiten lassen, wie etwas aussehen müsste - da lag ich dann mal wieder falsch.
Wer lesen (und verstehen) kann, ist klar im Vorteil - ich arbeite noch dran.

Durch die erfolgreiche Beschäftigung stellt sich ein gewisses Wohlbefinden ein, und das ist doch das wichtigste.

Viele Grüße und ein sonniges Wochenende
Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY