DOIF mit Joker und mehrzeilig

Begonnen von Jiml, 14 April 2016, 13:39:22

Vorheriges Thema - Nächstes Thema

Jiml

Hallo Anwender, Entwickler und damian!

ich kämpfe hier mit dem DOIF.
Ich habe mehrere SET nach der BEDINGUNG, welche alle "off" gesetzt werden sollen.
Leider funktioniert das mit dem ".*" nicht - leider muss man alle Ausdrücke ausschreiben.

Auch lt. commandref den Befehl in mehreren Zeilen aufteilen scheint nicht wirklich zu funktionieren.
Trenne ich den (Bedingungsteil ) cr+lf (set Teil) so wird der Set Teil von FHEM weggelöscht. Es bleibt der Bedingungsteil stehen.

Gibt es hierzu eine Lösung?

heute ist das so und funktioniert (leider etwas umständlch mit den doppelten ;; und immer set und...:
define Beleuchtung_off DOIF ([12:00|123456] and fhem("get Bayern today") eq "none") (set Decke off;;set Regal1_Switch off;;set Regal2_Switch off;;set Regal3_Switch off;;set Leuchten1 off;;set
Leuchten2 off;;set Leuchten3 off)


Wunsch, so wie es im restlichen FHEM üblich ist:
define Beleuchtung_off DOIF ([12:00|123456] and fhem("get Bayern today") eq "none") (set Decke,Regal.*_Switch,Leuchten.* off)

mache ich das exact so, dann bekomme ich immer den Fehler:
    Regal.*_Switch: no set value specified
    set Leuchten.*: no set value specified

oder mit cr+lf
define Beleuchtung_off DOIF ([12:00|123456] and fhem("get Bayern today") eq "none")
                             (set Decke,Regal.*_Switch,Leuchten.* off)

mach FHEM folgendes draus:
define Beleuchtung_off DOIF ([12:00|123456] and fhem("get Bayern today") eq "none")

Dachte DOIF ist neu?
Mein verwendetes Modul 98_DOIF.pm 10985 2016-03-03 17:25:24Z

Danke

Damian

Zitat von: Jimly am 14 April 2016, 13:39:22
Hallo Anwender, Entwickler und damian!

ich kämpfe hier mit dem DOIF.
Ich habe mehrere SET nach der BEDINGUNG, welche alle "off" gesetzt werden sollen.
Leider funktioniert das mit dem ".*" nicht - leider muss man alle Ausdrücke ausschreiben.

Auch lt. commandref den Befehl in mehreren Zeilen aufteilen scheint nicht wirklich zu funktionieren.
Trenne ich den (Bedingungsteil ) cr+lf (set Teil) so wird der Set Teil von FHEM weggelöscht. Es bleibt der Bedingungsteil stehen.

Gibt es hierzu eine Lösung?

heute ist das so und funktioniert (leider etwas umständlch mit den doppelten ;; und immer set und...:
define Beleuchtung_off DOIF ([12:00|123456] and fhem("get Bayern today") eq "none") (set Decke off;;set Regal1_Switch off;;set Regal2_Switch off;;set Regal3_Switch off;;set Leuchten1 off;;set
Leuchten2 off;;set Leuchten3 off)


Wunsch, so wie es im restlichen FHEM üblich ist:
define Beleuchtung_off DOIF ([12:00|123456] and fhem("get Bayern today") eq "none") (set Decke,Regal.*_Switch,Leuchten.* off)

mache ich das exact so, dann bekomme ich immer den Fehler:
    Regal.*_Switch: no set value specified
    set Leuchten.*: no set value specified

oder mit cr+lf
define Beleuchtung_off DOIF ([12:00|123456] and fhem("get Bayern today") eq "none")
                             (set Decke,Regal.*_Switch,Leuchten.* off)

mach FHEM folgendes draus:
define Beleuchtung_off DOIF ([12:00|123456] and fhem("get Bayern today") eq "none")

Dachte DOIF ist neu?
Mein verwendetes Modul 98_DOIF.pm 10985 2016-03-03 17:25:24Z

Danke

Du musst Kommata innerhalb der FHEM-Befehle mit doppelten Klammer schützen (siehe Commandref zu DOIF)

define Beleuchtung_off DOIF ([12:00|123456] and fhem("get Bayern today") eq "none") ((set Decke,Regal.*_Switch,Leuchten.* off))


Wenn du über die Web-Oberfläche mit Enter Zeilenumbruch machst, sollte es keine Probleme geben Zeilenumbrüche einzufügen.

Gruß

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF