Rolladen abhängig vom Azimuth fahren

Begonnen von antonka, 28 April 2014, 13:28:38

Vorheriges Thema - Nächstes Thema

antonka

ich würde das Rollo gerne zu machen, wenn die Sonne um die Ecke biegt.
Dafür bräuchte ich den Azimuth aus Twilight. Aber ich bekomme das nicht hin...


define T Twilight 49.319 17.605 1 123456

define n_Rollladen notify T.azimuth.* {\
       my $Licht = ReadingsVal("T","azimuth","0");;\
       if ($Licht >= 120) {\
                fhem("set RolloTest Zu")}\
       elsif ($Licht >= 220){\
                fhem("set RolloTest Auf")}\
}


bei 120Grad sollen die Rollos zu Fahren und bei 220 Grad wieder auf.
Warum fahren sie bei meinem Code nicht?!?

Wie kann ich mir die Zeit, die zu einem bestimmten Azimuth gehört anzeigen lassen?

Bennemannc

#1
Hallo,

die Logik verstehe ich nicht ganz .... aber die Rollos werden nie auf fahren, da bei allen was größer als 120° ist die erste Bedingung erfüllt ist und somit die zweite (elsif) nie geprüft wird.
ggf. abfragen tauschen oder beide Werte in einem IF verknüpfen.
if (Licht < 220 && Licht > 120) (Rollo auf) else (Rollo zu)

Gruß Christoph

PS. ich fahre meine Rollos mit at und sunrise/sunset - hier kann man zusätzlich noch einen offset eingeben oder früheste bzw späteste Zeit für den Fahrbefehl. Das hat auch den Vorteil, dass nicht der notify 360 mal am Tag ausgewertet werden muss - Stichwort "Performance".
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

Dietmar63

du bekommst mit
define n_Rollladen notify T.azimuth.* {\ ...
ca. alle 5 Minuten einen trigger(wenn es funktioniert). Du musst deshalb den Zustand des Rollos(auf/zu) in der Abfrage mit berücksichtigen.

Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

antonka

Super danke, ihr hattet beide recht...

define RolloTest dummy
attr RolloTest eventMap on:Auf off:Zu
attr RolloTest icon icoHouse.png
attr RolloTest room KZ-West
attr RolloTest webCmd Auf:Zu
define FileLog_RolloTest FileLog /var/log/fhem/RolloTest-%Y.log RolloTest
attr FileLog_RolloTest logtype text

define T Twilight 49.319 17.605 1 123456

define n_Rollladen notify T.azimuth.* {\
       my $Licht = ReadingsVal("T","azimuth","0");;\
       if (($Licht >= 260) && (Value("RolloTest") ne "Auf")) {\
                fhem("set RolloTest Auf")}\
       elsif (($Licht >= 120) && (Value("RolloTest") ne "Zu")) {\
                fhem("set RolloTest Zu")}\
}

Jetzt bekomme ich immer nur EINEN Logeintrag wenn das TestRollo fährt.

Schön wäre noch, wenn ich die Temperatur aus dem Yahoo Wetter verwenden könnte:

List T TEMPERATUR

gibt mir auch die richtige Temperatur. Aber wie baue ich das in die fhem.cfg ein??

Puschel74

#4
Moin,

auch wenn ich mich mal wieder unbeliebt mache aber bitte:

http://forum.fhem.de/index.php/topic,16311.0.html

Danke.

Grüße

Edith:
ZitatAber wie baue ich das in die fhem.cfg ein??
Garnicht! Finger weg von der fhem.cfg - diese Datei gibt es nicht - das ist ein Mythos.
Wenn du in der fhem.cfg rumfummelst kannst du dir nur schneller Fehler einhandeln als - aber gut.
Schon oft genug beschrieben und davor "gewarnt".
Hier
http://forum.fhem.de/index.php/topic,17433.msg114930.html#msg114930
ne kurze Beschreibung wie man es "anders" machen kann.

Edith2: Das auch die Frage beantwortet wird:
ZitatSchön wäre noch, wenn ich die Temperatur aus dem Yahoo Wetter verwenden könnte:
Das ist kein Problem.
Das kannst du mit ReadingsVal auslesen und in deinem Code verbauen und prüfen wie du möchtest.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.