FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: kaktus567 am 28 Februar 2016, 13:42:12

Titel: IF und nachfolgend 2 Befehle
Beitrag von: kaktus567 am 28 Februar 2016, 13:42:12
@CoolTux: und tschüss, mich nervst Du nicht mehr  ;D ;D ;D :o :o :o
Titel: Antw:IF und nachfolgend 2 Befehle
Beitrag von: Icinger am 28 Februar 2016, 13:47:08
Warum das umständliche {fhem()}-Konstrukt?

Beispiel aus der commandref:
define check at +00:10 IF ([outdoor:humidity] > 10) (set switch1 off,set switch2 on) ELSE (set switch1 on,set switch2 off)

Ergo:
MeinWetter:icon:.* IF ([MeinWetter:icon] eq "mostlycloudy") (set temp1 10.0,set temp2 20.0)
Titel: Antw:IF und nachfolgend 2 Befehle
Beitrag von: Icinger am 28 Februar 2016, 13:49:37
Und wenn du schon mit {fhem(......arbiten willst, solltest du die Klammern richtig setzen:
MeinWetter:icon:.* IF ([MeinWetter:icon] eq "mostlycloudy") ({fhem("set temp1 10.0");;fhem("set temp2 20.0")})

oder aber
MeinWetter:icon:.* IF ([MeinWetter:icon] eq "mostlycloudy") ({fhem("set temp1 10.0;;set temp2 20.0")})
Titel: Antw:IF und nachfolgend 2 Befehle
Beitrag von: kaktus567 am 28 Februar 2016, 13:52:54
Zitat von: IcingerWarum das umständliche {fhem()}-Konstrukt?

... weil ich erst "gelesen" habe und auch keine andere Lösung gefunden hatte.  Ich hatte Angst, wieder im Anfängerforum zu schreiben und
irgendwelche "Verweise" zu bekommen  :-[

Ich versuche mal Deinen Ansatz, weil das fhem-Konstrukt ist mir suspect...
Titel: Antw:IF und nachfolgend 2 Befehle
Beitrag von: Zrrronggg! am 28 Februar 2016, 13:55:28
Du verwechselst perl "if" und FHEM "IF" und mischst die Syntax.

Zusätzlich ist sowas hier
{fhem("set temp1 10.0")};;{fhem("set temp2 20.0")}

sowieso nicht nötig. Da reicht

{fhem("set temp1 10.0 ;; set temp2 20.0")}



Ebenso zu demzufolge auch umständlich ist auch
({fhem("set temp1 10.0");fhem("set temp2 20.0")})
selbst wenn man perl sagen wollte, es solle fhem sagen folgende Befehle auszuführen anstatt ... die Befehle einfach auszuführen.

Da ich "IF" nicht verwende könnte ich dir nur sagen wie das Konstrukt aussehen müsste, wenn es komplett mit perl "if"
gemacht wäre.
Titel: Antw:IF und nachfolgend 2 Befehle
Beitrag von: kaktus567 am 28 Februar 2016, 13:57:02
Ich nehme die einfache Lösung von @Icinger:

MeinWetter:icon:.* IF ([MeinWetter:icon] eq "mostlycloudy") (set temp1 10.0,set temp2 20.0)

Danke, funktioniert und ich kann endlich weitermachen  8)
Titel: Antw:IF und nachfolgend 2 Befehle
Beitrag von: Icinger am 28 Februar 2016, 13:57:06
ZitatIch hatte Angst, wieder im Anfängerforum zu schreiben und

ääääähm...... 8)
ZitatFHEM Forum »    FHEM »    Anfängerfragen »    IF und nachfolgend 2 Befehle
Titel: Antw:IF und nachfolgend 2 Befehle
Beitrag von: Damian am 28 Februar 2016, 14:01:16
Zitat von: kaktus567 am 28 Februar 2016, 13:52:54
... weil ich erst "gelesen" habe und auch keine andere Lösung gefunden hatte.  Ich hatte Angst, wieder im Anfängerforum zu schreiben und
irgendwelche "Verweise" zu bekommen  :-[

Ich versuche mal Deinen Ansatz, weil das fhem-Konstrukt ist mir suspect...

statt

MeinWetter:icon:.* IF ([MeinWetter:icon] eq "mostlycloudy") ({fhem("set temp1 10.0")};;{fhem("set temp2 20.0")})


würde ich dir, auch wenn ich der Entwickler von IF bin,  empfehlen:

define di_mywetter DOIF ([MeinWetter:icon] eq "mostlycloudy") (set temp1 10.0, set temp2 20.0)
attr di_mywetter do always


Gruß

Damian
Titel: Antw:IF und nachfolgend 2 Befehle
Beitrag von: CoolTux am 28 Februar 2016, 14:18:25
Zitat von: Icinger am 28 Februar 2016, 13:47:08

Beispiel aus der commandref:
define check at +00:10 IF ([outdoor:humidity] > 10) (set switch1 off,set switch2 on) ELSE (set switch1 on,set switch2 off)


Um Gotteswillen bist Du denn des Wahnsinns, komm dem jungen Mann bloß nicht mit Dokumentation. Sowas ist ein rotes Tuch für ihn
Titel: Antw:IF und nachfolgend 2 Befehle
Beitrag von: kaktus567 am 28 Februar 2016, 14:26:52
Entschuldingung an alle, die mit konstruktiven Vorschlägen weiterhelfen wollten, ich muss hier wieder zu machen !!!

Ich nutze die Variante von @Icinger, hätte aber gerne noch den Unterschied zu DOIF disktuiert.

Sorry, muss hier zumachen, da wieder @CoolTux den Thread zumüllt ...


Zitat von: kaktus567 am 28 Februar 2016, 13:57:02
Ich nehme die einfache Lösung von @Icinger:

MeinWetter:icon:.* IF ([MeinWetter:icon] eq "mostlycloudy") (set temp1 10.0,set temp2 20.0)

Danke, funktioniert und ich kann endlich weitermachen  8)