bekomme if Bedingung nicht hin

Begonnen von bajogger, 28 Juli 2013, 13:36:04

Vorheriges Thema - Nächstes Thema

bajogger

Hallo
starte meine Rolladen abhängig vom Sonnenuntergang
Beispiel:
define at_SonnenUnt11 at *{sunset(-3400)} set RollAll2 on

Problem:
Sitze ich abends auf der Terasse geht plötzlich der Rolladen runter
Lösung:
Möchte mit einem einfachen Schalter diesen Automatismus ausser Betrieb setzen.
Schalter ist definiert und heißt Rolldeakt

Ist der Schalter on soll der Automatismus ausgeschaltet sein. Bei off normal laufen
Habe das so gemacht:
define at_SonnenUnt11 at *{sunset(-3400)} set RollAll2 on if RollDeakt = off

Was mache ich falsch
FHEM auf Raspberry Pi, CUL 433 und CUL 866,
Diverse IT Empfänger für Rolladen und Licht, IPCam Instar 2905

Dietmar63

so könnte es besser funktionieren. Mit der zweiten Version kannst du sofort(nach 5 Sekunden) testen, ob der at-Code funktioniert:

define at_SonnenUnt11 at *{sunset(-3400)} { fhem ("set RollAll2 on") if (ReadingsVal("RollDeakt","state","NF") eq "off")}
define at_SonnenUnt11 at +00:00:05        { fhem ("set RollAll2 on") if (ReadingsVal("RollDeakt","state","NF") eq "off")}
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

bajogger

Danke funktioniert.
Ist halt doch nicht ganz so easy
FHEM auf Raspberry Pi, CUL 433 und CUL 866,
Diverse IT Empfänger für Rolladen und Licht, IPCam Instar 2905

mfeske

Hallo Dietmar,

ich wollte das auf mein Projekt übertragen, aber das scheint nicht so einfach zu sein :-(
Ich habe bisher:
define Tageslicht dummy
attr Tageslicht room Wetter
define Tageslicht_hell at *{sunset(-3600)} set Tageslicht hell
attr Tageslicht_hell room Wetter
define Tageslicht_dunkel at *{sunrise(+1800)} set Tageslicht dunkel
attr Tageslicht_dunkel room Wetter
define Rolladen01_zeit_down at *{sunset(-60)} { fhem ("set Rolladen01 on")
attr Rolladen01_zeit_down room Wohnzimmer
define Rolladen01_zeit_up at *{sunrise(+60)} { fhem ("set Rolladen01 off")
attr Rolladen01_zeit_up room Wohnzimmer


Wenn ich jetzt Deinen fünf Minuten Test übertrage und define Rolladen01_zeit_test at +00:00:05 { fhem ("set Rolladen01 on") if (ReadingsVal("Gartentuer","state","offen") eq "zu")} Verwende wird mir angezeigt, das ich erst  Rolladen01_zeit_test  definieren soll.

Ich habe einen dummy Gartentuer mit state offen / zu. Wenn der state offen ist soll in dem Fall Rolladen02 nicht runterfahren, erst wenn die Gartentuer geschlossen wird.

Gruß
Micha
Hardware:
1 x Raspberry Pi Mod. B 512 MB
eq-3 2 x MAX! eTRV Heizungssteller, 1 x MAX! Fensterkontakt, 1 x MAX! Cube - LAN Gateway (ausser Betrieb)
Intertechno 1x ITZ-500, 3x ITT-1500, 9x ITR-1500, 3 x ITDL-1000, 2 x ITL-500
1 x CC1101-USB-Lite 433MHz (CUL433)  V3 1 x CC1101-USB-Lite 868MHz (CUL868)

Bennemannc

Hallo,

mal so am Rande - ich habe das mit "if" anders gelernt. Normalerweise kommt erst die Abfrage und dann der Befehl. Also "at xxx if (Bedingung) (set ...). Normalerweise kennt if ja auch else - also wenn die Bedingung nicht zutrifft mache etwas anderes (z.B. Licht auf der Terasse an).

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF