Notify mit IF und set Befehlen

Begonnen von DJ-Dan, 02 September 2023, 09:56:23

Vorheriges Thema - Nächstes Thema

DJ-Dan

Hallo in die Runde,
ich stehe aktuell irgendwie auf dem Schlauch.

Folgendes möchte ich gerne durchführen:
Wenn ich meiner Alexa Guten Morgen sage, soll die aktuelle Routine in der Alexa App durch FHEM ersetzt werden und alle Befehle durch FHEM ausgeführt werden. Dies möchte ich, damit ich nicht immer Routinen in der Alexa App anpassen muss und andere Dinge in FHEM.

Hierfür habe ich mir folgendes überlegt:
Ich habe ein Dummy angelegt der als Schalter in Alexa integriert ist. Dier wird von einem Notify überwacht.
Wenn der Schalter nun auf "start" geht sollen folgende Dinge ausgeführt werden:
Alle Rollläden sollen auffahren und es soll eine Info abgespielt werden.
Dazu soll aber auch ein Rollladen nur auffahren, wenn dieses über 20 % offen ist.

Wie kann ich in einem Notify eine IF-Abfrage machen mit dazu aber auch festen set-Befehlen?

define no_GuMo notify GuMo:start set Rollladen_1 open ;; set Rollladen_2 open ;; IF ([Rollladen_3:pct] < 21) (set Rollladen_3 open)) ;; sleep 5 ;; set Alexa info Erzaehle_Was_Neues ;; set GuMo stop
Vielen Dank schon mal für eure Hilfe.

Ps: Ich hoffe, dass ich den Beitrag in das richtige Forum geschrieben habe! Ansonsten bitte verschieben und sorry

Otto123

#1
Ich meine, da ist lediglich eine Klammer zuviel - ansonsten sieht das richtig aus. Oder ich habe Dein Problem nicht verstanden ;)
define no_GuMo notify GuMo:start set Rollladen_1 open ;; set Rollladen_2 open ;; IF ([Rollladen_3:pct] < 21) (set Rollladen_3 open) ;; sleep 5 ;; set Alexa info Erzaehle_Was_Neues ;; set GuMo stopOk: darüber könnte man noch reden:
ZitatDazu soll aber auch ein Rollladen nur auffahren, wenn dieses über 20 % offen ist.
Würde ich spontan so andenken?
([Rollladen_3:pct] > 20)
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

DJ-Dan

Danke für die schnelle Rückmeldung.
Klar, die Klammer ) ist zuviel.
Es funktioniert aber trotzdem nicht.

Habe aber gerade die Lösung gefunden.  ::)
Es ist mal wieder so wie immer bei mir und FHEM.

Es waren zu viele Semikola zwischen den einzelnen Befehlen.

Otto123

Zitat von: DJ-Dan am 02 September 2023, 12:03:50Es waren zu viele Semikola zwischen den einzelnen Befehlen.
Als Eingabe in der FHEM Kommandozeile ist die Anzahl so mMn in Ordnung.

Poste doch nochmal wie die finale (Raw Definition bzw. Copy for Forum ) Lösung aussieht.
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

DJ-Dan

Klar, hier mein aktueller Code der dann auch funktioniert!

define no_GuMo notify GuMo:start set Rolllande_1 open ;; set Rolllande_2 open ;; IF ([Rollladen_3:pct] < 21) (set Rollladen_3 open) ;; sleep 15 ;; set ECHO info Erzaehle_Was_Neues ;; set GuMo stop
#   CFGFN     
#   DEF        GuMo:start set Rolllande_1 open ; set Rolllande_2 open ; IF ([Rollladen_3:pct] < 21) (set Rollladen_3 open) ; sleep 15 ; set ECHO info Erzaehle_Was_Neues ; set GuMo stop
#   FUUID      64f2e5e7-f33f-7f26-7b8e-b55a8d028d7193d6
#   NAME       no_GuMo
#   NOTIFYDEV  GuMo
#   NR         475
#   NTFY_ORDER 50-no_GuMo
#   REGEXP     GuMo:start
#   STATE      2023-09-02 12:14:06
#   TRIGGERTIME 1693649646.62435
#   TYPE       notify
#   eventCount 8
#   READINGS:
#     2023-09-02 12:11:57   state           active
#     2023-09-02 12:14:06   triggeredByDev  GuMo
#     2023-09-02 12:14:06   triggeredByEvent start
#
setstate no_GuMo 2023-09-02 12:14:06
setstate no_GuMo 2023-09-02 12:11:57 state active
setstate no_GuMo 2023-09-02 12:14:06 triggeredByDev GuMo
setstate no_GuMo 2023-09-02 12:14:06 triggeredByEvent start