Hauptmenü

[gelöst] und kombinieren

Begonnen von tomspatz, 15 Juli 2017, 11:11:09

Vorheriges Thema - Nächstes Thema

tomspatz

DOELSEIF ([schalter] eq "on|off")
wäre das so OK?
Die Alternative die ICH verstehe wäre sonst:
DOELSEIF ([schalter] eq "on" or [schalter] eq "off")

Falls mein erstes Beispiel irgendwie richtig sein sollte, würde ich den Status gerne weitergeben:
DOELSEIF ([schalter] eq "on|off")(set dummy $EVENT)

LG
Tom

amenomade

Zitat
DOELSEIF ([schalter] eq "on|off")

wäre das so OK?
Nein.
ZitatDOELSEIF ([schalter] eq "on" or [schalter] eq "off")
Besser.

Zitatset dummy $EVENT
Damit wird aber das gesamte Event auf das Dummy gesetzt.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

tomspatz

ZitatDamit wird aber das gesamte Event auf das Dummy gesetzt.

OK aber wenn dann vom Schalter "on" kommt bekommt der dummy "on" oder was meinst du mit das gesamte Event?

LG
Tom

Otto123

Moin,

ich sehe den Zusammenhang mit DOIF nicht unbedingt, falls der nicht sein muss: Ein Vorschlag mit notifydefmod nty_schalter notify schalter:(on|off) set dummy $EVENT

Ob die Reaktion auf den Event exakt so auch im DOIF geht habe ich nicht probiert, könnte aber auch gehen.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

tomspatz

@Otto
Ich versuche gerade ein Paar notifys zu "verschlimmbessern".
Der DOELSEIF Schnipsel ist nur ein Teil dieses Konstrukts.

LG
Tom

Otto123

Hallo Tom

dann versuch es doch mal, war ja als Anregung gedacht :)
ZitatEine Alternative zur Auswertung von Status oder Readings ist das Auswerten von Ereignissen (Events) mit Hilfe von regulären Ausdrücken. Der Suchstring wird als regulärer Ausdruck in Anführungszeichen angegeben. Die Syntax lautet: [<devicename>:"<regex>"]

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

amenomade

ZitatOK aber wenn dann vom Schalter "on" kommt bekommt der dummy "on" oder was meinst du mit das gesamte Event?
Ja, hast Recht.

Otto hat auch Recht, du kannst auch folgendes schreiben:
(["^schalter$:on|off"])
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Otto123

@amenomade
Ich versuche ja seit langem den Syntax von DOIF zu verstehen :)

Laut commandref wäre dann aber dies hier ([schalter:"on|off"]) deinem Ausdruck ebenbürdig oder?

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

tomspatz

ZitatIch versuche ja seit langem den Syntax von DOIF zu verstehen :)

;)

amenomade

@Otto: Ja, so sollte es auch gehen. Hatte nur einen komplizierten (mit mehrere Devices) Beispiel vereinfacht. Kann man aber noch mehr! ;)

Aber zurück zur Frage, egal die Form: ich würde mit sowas vorsichtlich sein. Wenn auf so einem DOIF (on|off) kein anderes Attribut gesetzt wird (wie z.B. do always), wird das DOIF nur einmal geschaltet UND DANN NICHT MEHR, so lange "schalter" keinen Wert bekommt, der weder "on" noch "off" ist...

Z.B.:
set schalter on => cmd1 wird duchgeführt.
set schalter off => nix
set schalter on => nix
set schalter duDoofReagierMalManchmal => das DOIF setzt sich auf cmd_2
set schalter off => cmd 1 wird durchgeführt
set schalter on => nix
set schalter off => nix
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

FranzB94

Hi Otto!
Zitat von: Otto123 am 15 Juli 2017, 13:38:20
Ich versuche ja seit langem den Syntax von DOIF zu verstehen :)

Hinweis von (Ex-)Sachse zu Sachse  ;)

http://www.duden.de/rechtschreibung/Syntax

Gruß Franz


Per

Zitat von: Otto123 am 15 Juli 2017, 13:38:20
Laut commandref wäre dann aber dies hier ([schalter:"on|off"]) deinem Ausdruck ebenbürdig oder?
Ja.

tomspatz

Vielen dank an alle beteiligten.
Das funktioniert soweit einwandfrei, trotzdem bitte dabei bedenken, wie schon weiter oben amenomade schrieb:
ZitatDamit wird aber das gesamte Event auf das Dummy gesetzt.

Also Obacht! falls mehrere Angaben im Ausführungsteil vorhanden werden die ALLE auf den Dummy übertragen.
(set dummy $EVENT)
Ist OK
(set schalter on, set dummy $EVENT)
NICHT OK

LG
Tom



Otto123

Hallo Tom,

eigentlich nicht, wenn der Filter für den Eventtrigger scharf genug war.
Dein Ausführungsteilbeispiel triggert ja das DOIF rekursiv - ich weiß gar nicht was da passiert  :-[

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz