FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: awe am 19 September 2015, 09:17:36

Titel: AT mit IF + UND- und ODER-Verknüpfung funktioniert nicht
Beitrag von: awe am 19 September 2015, 09:17:36
Hallo zusammen,
für meine Rollo-Steuerung habe ich einige Bedingungen programmiert (mit UND- und ODER-Verknüpfung), doch leider funktioniert es nicht.

Nur am WE soll das Rollo automatisch hochfahren, wenn ein paar Bedingungen erfüllt sind (alles HomeMatic).
Grob beschrieben: Rollo hoch nur wenn:
$WE UND (Olive=closed ODER Oliver=tilted) UND (Anwesenheit=Urlaub(zu_Hause) ODER Anwesenheit=Alltag)
Ich habe folgendes programmiert:
AT WZ_Rollo_Tuer_hoch_WE mit
DEF
*{sunrise("REAL",10,"07:07","09:00")} {if ($we && (WZ_Olive_Terrasse eq "closed" || WZ_Olive_Terrasse eq "tilted") && (Anwesenheit eq "Urlaub(zu_Hause)" || Anwesenheit eq "Alltag")) { fhem("set WZ_Rollo_Tuer hoch");; } }

Leider passiert gar nichts :(

Was hingegen einwandfrei funktioniert, ist meine Rollo-Runter-Steuerung:
AT WZ_Rollo_Tuer_runter mit
DEF
*{sunset("REAL",+1602,"17:00","22:22")} IF ([WZ_Olive_Terrasse:state] eq "open") (set WZ_Rollo_Tuer_CloseLater on,set pushmsg msg 'fhem' 'Warnung: Rollo WZ Tür nicht geschlossen!' '' 0 '') ELSE (set WZ_Rollo_Tuer runter,set WZ_Rollo_Tuer_CloseLater off)


Hat einer `ne Idee?

Gruß,
Axel
Titel: Antw:AT mit IF + UND- und ODER-Verknüpfung funktioniert nicht
Beitrag von: Thorsten Pferdekaemper am 19 September 2015, 12:31:50
Hi,
Im Perl-Code (d.h. in Deinem ersten Beispiel) werden Namen von Devices oder Channels nicht zu deren "state" oder so umgewandelt. Wahrscheinlich hast Du sogar irgendwelche Fehlermeldungen im Log.
Du musst mit der Perl-Funktion ReadingsVal arbeiten. Ein bisschen ist das in der Commandref unter "Perl Specials" erklärt.
Gruß,
   Thorsten

P.S.: Das gehört eigentlich nicht wirklich unter "Homematic". Eher nach "Automatisierung" oder so.
Titel: Antw:AT mit IF + UND- und ODER-Verknüpfung funktioniert nicht
Beitrag von: zap am 19 September 2015, 14:00:47
Probiers mal mit DOIF