FHEM Forum

FHEM => Automatisierung => Thema gestartet von: SouzA am 26 Juli 2016, 07:43:58

Titel: [gelöst] sunset_el min/max über UI?
Beitrag von: SouzA am 26 Juli 2016, 07:43:58
Hallo,

während des einhackens der Rolladensteuerung bin ich auf eine Problematik gestoßen, die mir vielleicht jemand beantworten kann.

Ich habe vor die Rolladen sowohl abhängig von Sonnenaufgang -untergang
define at_wz_Rolladen_ho at *{sunrise(0,"8:00","10:00")} set du_wz_Rolladen_ho_ru_at_sunrise hoch
attr at_wz_Rolladen_ho room Rolladen Settings

sowie manueller Zeitangabe
define du_Rolladen_Zeit_wz_ho dummy
attr du_Rolladen_Zeit_wz_ho alias Hoch:
attr du_Rolladen_Zeit_wz_ho devStateIcon .*:rc_BLANK
attr du_Rolladen_Zeit_wz_ho group WoZi AZi WCs
attr du_Rolladen_Zeit_wz_ho icon icoUhr
attr du_Rolladen_Zeit_wz_ho room Rolladen Settings
attr du_Rolladen_Zeit_wz_ho setList state:time
attr du_Rolladen_Zeit_wz_ho sortby 20
attr du_Rolladen_Zeit_wz_ho webCmd state

fahren zu lassen.

Das bedeutet, dass es am einfachsten währe, wenn man die min/max Werte des Sunrise_el über des Frontend direkt ändern könnte. Meine Versuche sind bisher gescheitert. (Eintragen des dummys in die min/ max-Werte). In der commandref usw finde ich auch nix dazu.
Geht das überhaupt?

Vielen Dank!
Bis denn
SouzA
Titel: Antw:sunset_el min/max über UI?
Beitrag von: rudolfkoenig am 26 Juli 2016, 16:32:06
Gehen tut alles, es ist hoechstens etwas Programmieraufwand. Z.Bsp koennte man mit einem notify auf die dummy Aenderung "hoeren" und per modify die at Uhrzeit (d.h das {...} Teil) aendern. Man kann dabei das exec-Teil weglassen, at bahaelt dann das Alte.
Titel: Antw:sunset_el min/max über UI?
Beitrag von: eki am 26 Juli 2016, 17:19:59
Ich verstehe Deine Problematik vielleicht nicht so ganz. Aus meiner Sicht brauchst Du gar keine Dummies. Für die Automatik kann das "at" doch einen Befehl direkt an das Rolladen Device schicken. Für die Manuelle Eingabe kannst Du doch direkt das Rolladen Device hoch/runter schicken. Das geht dann völlig unabhängig voneinander. Generell würde ich Dir, falls Du das Ganze für unterschiedliche Wochentage unterschiedlich machen willst per WeekdayTimer machen (siehe ref).
Titel: Antw:sunset_el min/max über UI?
Beitrag von: SouzA am 26 Juli 2016, 19:13:00
Hallo,

vielen Dank für eure Antworten!

@rudolfkoenig
Hört sich nach dem an, was ich meine.
Den modify hatte ich noch gar nicht auf dem Schirm...
Dazu aber gleich eine Frage oder ich hab gerade echt Bananen auf den Augen: Im Commandref wird der bekannte wert "modified"... also die 19h. Wie mache ich es mit dem modify nicht bekannten Werten (also Werten, die per UI eingegeben wurden)? Und wie sage ich dem modify, welcher Wert der beiden Zeitwerte vom sunrise geändert werden soll? Da wäre ich echt dankbar über einen weiteren Denkanstoß! THX!!

@eki
Eben, es würde unabhängig voneinander funktionieren.
Wenn ich aber eine Zeit für "hoch" nach Sonnenaufgang haben will, habe ich keine andere chance als den sunrise rauszunehmen. Das Rollo würde dann nämlich sonst vor meiner gewünschten Zeit hoch fahren, nämlich zu Sonnenaufgang. Andersrum, wenn die manuelle Zeit-einstellung für hoch dann doch mal vor den Sonnenaufgang gerutscht ist, oder die Jahreszeit es bedingt, was nicht gewünscht ist wegen Sichtschutz, dann sollen die Rollos erst zum Sonnenaufgang hoch fahren.
Wenn ich die Zeit im sunrise_el direkt ändern kann, dann brauche ich nur die min-Zeit ändern und das wars.

Vielen Dank.
Bis denn
SouzA
Titel: Antw:sunset_el min/max über UI?
Beitrag von: Ellert am 26 Juli 2016, 19:43:56
Alternativ DOIF versuchen, etwa so, mit Schliessfunktion

Oeffen_Dummy für manuelle Zeiteinstellung mit userReading auf {max(sunrise , Value("Oeffnen_Dummy"))}
Schliessen_Dummy für manuelle Zeiteinstellung mit userReading zu {max(sunset , Value("Schliessen_Dummy"))}

([[Oeffnen_Dummy:auf]]) (set Rolladen up)
DOELSEIF ([[Schliessen_Dummy:zu]]) (set Rolladen down)


siehe: http://fhem.de/commandref_DE.html#DOIF und
http://fhem.de/commandref_DE.html#DOIF_Indirekten_Zeitangaben
Titel: Antw:sunset_el min/max über UI?
Beitrag von: rudolfkoenig am 26 Juli 2016, 20:39:49
define ntfy1 du_Rolladen_Zeit_wz_ho {fhem 'modify at_wz_Rolladen_ho at *{sunrise(0, '.Value("du_Rolladen_Zeit_wz_ho").',"10:00")'}

Evtl brauchst du einen zweiten dummy fuer die Obergrenze. Oder ich habe das Problem nicht verstanden.
Titel: Antw:sunset_el min/max über UI?
Beitrag von: Damian am 27 Juli 2016, 00:21:46
Zitat von: Ellert am 26 Juli 2016, 19:43:56
Alternativ DOIF versuchen, etwa so, mit Schliessfunktion

Oeffen_Dummy für manuelle Zeiteinstellung mit userReading auf {max(sunrise , Value("Oeffnen_Dummy"))}
Schliessen_Dummy für manuelle Zeiteinstellung mit userReading zu {max(sunset , Value("Schliessen_Dummy"))}

([[Oeffnen_Dummy:auf]]) (set Rolladen up)
DOELSEIF ([[Schliessen_Dummy:zu]]) (set Rolladen down)


siehe: http://fhem.de/commandref_DE.html#DOIF und
http://fhem.de/commandref_DE.html#DOIF_Indirekten_Zeitangaben

Habe jetzt in DOIF die Möglichkeit eingebaut in Zeitfunktionen wie sunset oder sunrise (in geschweiften Klammern) Readings oder Stati zu übergeben. Damit lässt sich die Sache, wie folgt abdecken:

([{sunrise(0,"[du_Rolladen_Zeit_wz_ho]","10:00")}]) (set Rolladen up)
DOELSEIF ([{sunrise(0,"[du_Rolladen_Zeit_wz_ru]","22:00")}]) (set Rolladen down)


Eine Änderung der Zeit-Dummys führt, wie gewohnt bei indirekten Zeitangaben, zur Triggerung des Moduls und damit zum Neusetzen der Zeit innerhalb des Moduls.

Ebenso funktioniert damit auch das Rechnen mit Zeiten, z. B.:

([({sunrise(0,"[du_Rolladen_Zeit_wz_ho]","10:00")}+[00:30])]) ...

oder

([({sunrise(0,"[du_Rolladen_Zeit_wz_ho]","10:00")}+rand(3600))]) ...

oder

([({sunrise(0,"[du_Rolladen_Zeit_wz_ho]","10:00")}+[mydummy:zeitverzoegerung])]) ...

Gruß

Damian
Titel: Antw:sunset_el min/max über UI?
Beitrag von: SouzA am 27 Juli 2016, 09:12:24
Hallo,

Hört sich spannend an.
Bedeutet das, dass man keine at's mehr für sunrise und sunset anlegen muss?

Vielen Dank für deine Arbeit!

Bis denn
SouzA
Titel: Antw:sunset_el min/max über UI?
Beitrag von: Ellert am 27 Juli 2016, 10:25:40
Zitat von: SouzA am 27 Juli 2016, 09:12:24
Hallo,

Hört sich spannend an.
Bedeutet das, dass man keine at's mehr für sunrise und sunset anlegen muss?

Vielen Dank für deine Arbeit!

Bis denn
SouzA
Ja, DOIF vereint schon länger notify, at und IF und bietet durch Selbsttriggerung die Möglichkeit einen "Endlichen Automaten" zu realisieren.
Titel: Antw:sunset_el min/max über UI?
Beitrag von: SouzA am 27 Juli 2016, 10:33:15
Hallo,

ROCKT!  ;D

Naja, so sieht der code nun aus:
#Die Rollos gehen frühestens um 16:00h und spätestens zur im UI eingestellten Zeit runter. Dazwischen mit dem Sonnenuntergang.
#Funktioniert nur, wenn berücksichtigung Sunset auf "an" und Automatik "an" gewählt ist!
([*{sunset(0,"16:00","[du_Rolladen_Zeit_wz_ru]")}] and [du_Rolladen_wz_sunset] eq "an" and [du_Rolladen_wz_wc_auto] eq "an") (set wz_Rolladen_haupt A0, set azi_Rolladen Zu)
#
#Die Rollos gehen nur zur im UI eingestellten Zeit runter.
#Funktioniert nur, wenn berücksichtigung Sunset auf "aus" und Automatik "an" gewählt ist!
DOELSEIF ([[du_Rolladen_Zeit_wz_ru]|0123456]) and [du_Rolladen_wz_sunset] eq "aus" and [du_Rolladen_wz_wc_auto] eq "an") (set wz_Rolladen_haupt A0, set azi_Rolladen Zu)
#
#Die Rollos gehen frühestens zur im UI eingestellten Zeit und spätestens um 12Uhr hoch. Dazwischen mit dem Sonnenaufgang.
#Funktioniert nur, wenn berücksichtigung Sunrise auf "an" und Automatik "an" gewählt ist!
DOELSEIF (([[*{sunrise(0,"[du_Rolladen_Zeit_wz_ho]","12:00")}]|8] or [[*{sunrise(0,"[du_Rolladen_Zeit_wz_ho_we]","12:00")}]|7]) and [du_Rolladen_wz_sunrise] eq "an" and [du_Rolladen_wz_wc_auto] eq "an") (set wz_Rolladen_haupt AI, set azi_Rolladen Auf)
#
#Die Rollos gehen nur zur im UI eingestellten Zeit hoch.
#Funktioniert nur, wenn berücksichtigung Sunset auf "aus" und Automatik "an" gewählt ist!
DOELSEIF (([[du_Rolladen_Zeit_wz_ho]|8] or [[du_Rolladen_Zeit_wz_ho_we]|7]) and [du_Rolladen_wz_sunrise] eq "aus" and [du_Rolladen_wz_wc_auto] eq "an") (set wz_Rolladen_haupt AI, set azi_Rolladen Auf)
DOELSE


Müsste dann so passen. Oder?

Vielen Dank!
Bis denn
SouzA
Titel: Antw:sunset_el min/max über UI?
Beitrag von: Ellert am 27 Juli 2016, 10:37:55
Kommentare mit ## einleiten, die * gehören nicht ins DOIF.

Hier sind die fetten [] zuviel
Zitat[[*{sunrise(0,"[du_Rolladen_Zeit_wz_ho]","12:00")}]|8]

Und Du benötigst das Modul von dort: https://forum.fhem.de/index.php/topic,55785.msg473737.html#msg473737 und shutdown restart; reload wird nicht reichen vermute ich.

Titel: Antw:sunset_el min/max über UI?
Beitrag von: FunkOdyssey am 27 Juli 2016, 10:42:49
Ich persönlich würde es noch ein wenig "hübscher" formatieren. Ist aber geschmackssache. Außerdem war im zweiten CMD noch eine geschlossene Klammer zuviel:

## Die Rollos gehen frühestens um 16:00h und spätestens zur im UI eingestellten Zeit runter. Dazwischen mit dem Sonnenuntergang.
## Funktioniert nur, wenn berücksichtigung Sunset auf "an" und Automatik "an" gewählt ist!
(
[{sunset(0,"16:00","[du_Rolladen_Zeit_wz_ru]")}] and
[du_Rolladen_wz_sunset] eq "an" and
[du_Rolladen_wz_wc_auto] eq "an"
)
(
set wz_Rolladen_haupt A0,
set azi_Rolladen Zu
)

## Die Rollos gehen nur zur im UI eingestellten Zeit runter.
## Funktioniert nur, wenn berücksichtigung Sunset auf "aus" und Automatik "an" gewählt ist!
DOELSEIF
(
[[du_Rolladen_Zeit_wz_ru]|0123456] and
[du_Rolladen_wz_sunset] eq "aus" and
[du_Rolladen_wz_wc_auto] eq "an"
)
(
set wz_Rolladen_haupt A0,
set azi_Rolladen Zu
)

## Die Rollos gehen frühestens zur im UI eingestellten Zeit und spätestens um 12Uhr hoch. Dazwischen mit dem Sonnenaufgang.
## Funktioniert nur, wenn berücksichtigung Sunrise auf "an" und Automatik "an" gewählt ist!
DOELSEIF
(
(
[[{sunrise(0,"[du_Rolladen_Zeit_wz_ho]","12:00")}]|8] or
[[{sunrise(0,"[du_Rolladen_Zeit_wz_ho_we]","12:00")}]|7]
) and
[du_Rolladen_wz_sunrise] eq "an" and
[du_Rolladen_wz_wc_auto] eq "an"
)
(
set wz_Rolladen_haupt AI,
set azi_Rolladen Auf
)

## Die Rollos gehen nur zur im UI eingestellten Zeit hoch.
##Funktioniert nur, wenn berücksichtigung Sunset auf "aus" und Automatik "an" gewählt ist!
DOELSEIF
(
(
[[du_Rolladen_Zeit_wz_ho]|8] or
[[du_Rolladen_Zeit_wz_ho_we]|7]
) and
[du_Rolladen_wz_sunrise] eq "aus" and
[du_Rolladen_wz_wc_auto] eq "an"
)
(
set wz_Rolladen_haupt AI,
set azi_Rolladen Auf
)

DOELSE


Update: Ich habe mal stumpf alle * entfernt. Ungetestet.
Titel: Antw:sunset_el min/max über UI?
Beitrag von: Ellert am 27 Juli 2016, 10:53:32
Dann möchte ich noch auf den verbesserten, eingebauten Editor mit Syntaxprüfung uvm. hinweisen: https://forum.fhem.de/index.php/topic,45373.0.html
Titel: Antw:sunset_el min/max über UI?
Beitrag von: FunkOdyssey am 27 Juli 2016, 11:06:20
Zitat von: Ellert am 27 Juli 2016, 10:53:32
Dann möchte ich noch auf den verbesserten, eingebauten Editor mit Syntaxprüfung uvm. hinweisen: https://forum.fhem.de/index.php/topic,45373.0.html

Bezog sich das auf meine Formatierung? Habe ich denn etwas falsch gemacht? Ich nutze selbstverständlich codemirror. Aber autom. Einrücken funktioniert damit leider nicht. :-)
Titel: Antw:sunset_el min/max über UI?
Beitrag von: Ellert am 27 Juli 2016, 11:18:27
@FunkOdyssey:
Nee, das war nur ein allgemeiner Hinweis für den TE, der codemirror ist per default ja nicht eingeschaltet.

ZitatAber autom. Einrücken funktioniert damit leider nicht

Die manuelle Einrückung wird automatisch in der nächsten Zeile fortgesetzt. Es ist eine Halbautomatik  ;)
Titel: Antw:sunset_el min/max über UI?
Beitrag von: SouzA am 27 Juli 2016, 16:18:42
Hi Jungs,

das ist Top von euch! Absolut klasse! Wieder mal einen Haufen dazu gelernt!

Aber:
Die zu den Sunset/Sunrise zugehörigen Timer zeigen nicht gerade erwartete Werte... ist das richtig so?

timer_1_c1  28.07.2016 00:00:00|0123456
timer_2_c2  27.07.2016 21:30:00|0123456
timer_3_c3  28.07.2016 04:54:26|8
timer_4_c3  28.07.2016 04:54:26|7
timer_5_c4  28.07.2016 07:00:00|8
timer_6_c4  28.07.2016 08:00:00|7

Die Einstellungen sind im Anhang.


Bis denn
SouzA

(und ja, es heißt eigentlich "frühestens hoch am WE".. ;) )
Titel: Antw:sunset_el min/max über UI?
Beitrag von: Ellert am 27 Juli 2016, 16:31:34
Mach es uns leichter. Welche Werte erwartest Du und was steht in den Dummys?
Titel: Antw:sunset_el min/max über UI?
Beitrag von: SouzA am 27 Juli 2016, 16:35:50
Naja, ich hätte erwartet, dass die nächste Hochfahrt nicht der nächste Sunrise ist, sonder dem entspricht, was ich als frühestens eingegeben habe.
Ebenso beim ersten sunset. 0:00 ist nirgends vermerkt.

Die Einstellungen habe ich im obigen Post noch angehängt.

Bis denn
SouzA
Titel: Antw:sunset_el min/max über UI?
Beitrag von: FunkOdyssey am 27 Juli 2016, 16:37:26
Offtopic:
Ich könnte noch ein wenig mehr Verwirrung reinbringen, indem ich dir Twilight empfehle. Mir gefällt das Modul besser. Ich sehe die Zeiten direkt in den Readings und kann nun auch eine min/max-Formel in DOIF nutzen:

CommandRef
Functions
twilight($twilight, $reading, $min, $max)
- implementiert eine Routine um die Dämmerungszeiten wie Sonnenaufgang mit min und max Werten zu berechnen.

$twilight Name der twiligh Instanz
$reading Name des zu verwendenden Readings. Beispiel: ss_astro, ss_weather ...
$min Parameter min time - optional
$max Parameter max time - optional
Titel: Antw:sunset_el min/max über UI?
Beitrag von: Ellert am 27 Juli 2016, 16:42:46
Zitat von: SouzA am 27 Juli 2016, 16:35:50
Naja, ich hätte erwartet, dass die nächste Hochfahrt nicht der nächste Sunrise ist, sonder dem entspricht, was ich als frühestens eingegeben habe.
Ebenso beim ersten sunset. 0:00 ist nirgends vermerkt.

Die Einstellungen habe ich im obigen Post noch angehängt.

Bis denn
SouzA

Poste mal ein List Deines aktuellen DOIF.
Titel: Antw:sunset_el min/max über UI?
Beitrag von: SouzA am 27 Juli 2016, 17:15:22
Das ist viel code...

Internals:
   DEF        ## Die Rollos gehen frühestens um 16:00h und spätestens zur im UI eingestellten Zeit runter. Dazwischen mit dem Sonnenuntergang.
## Funktioniert nur, wenn berücksichtigung Sunset auf "an" und Automatik "an" gewählt ist!
(
[{sunset(0,"16:00","[du_Rolladen_Zeit_wz_ru]")}|0123456] and
[du_Rolladen_wz_sunset] eq "an" and
[du_Rolladen_wz_wc_auto] eq "an"
)
(
set wz_Rolladen_haupt A0,
set azi_Rolladen Zu
)

## Die Rollos gehen nur zur im UI eingestellten Zeit runter.
## Funktioniert nur, wenn berücksichtigung Sunset auf "aus" und Automatik "an" gewählt ist!
DOELSEIF
(
[[du_Rolladen_Zeit_wz_ru]|0123456] and
[du_Rolladen_wz_sunset] eq "aus" and
[du_Rolladen_wz_wc_auto] eq "an"
)
(
set wz_Rolladen_haupt A0,
set azi_Rolladen Zu
)

## Die Rollos gehen frühestens zur im UI eingestellten Zeit und spätestens um 12Uhr hoch. Dazwischen mit dem Sonnenaufgang.
## Funktioniert nur, wenn berücksichtigung Sunrise auf "an" und Automatik "an" gewählt ist!
DOELSEIF
(
(
[{sunrise(0,"[du_Rolladen_Zeit_wz_ho]","12:00")}|8] or
[{sunrise(0,"[du_Rolladen_Zeit_wz_ho_we]","12:00")}|7]
) and
[du_Rolladen_wz_sunrise] eq "an" and
[du_Rolladen_wz_wc_auto] eq "an"
)
(
set wz_Rolladen_haupt AI,
set azi_Rolladen Auf
)

## Die Rollos gehen nur zur im UI eingestellten Zeit hoch.
##Funktioniert nur, wenn berücksichtigung Sunset auf "aus" und Automatik "an" gewählt ist!
DOELSEIF
(
(
[[du_Rolladen_Zeit_wz_ho]|8] or
[[du_Rolladen_Zeit_wz_ho_we]|7]
) and
[du_Rolladen_wz_sunrise] eq "aus" and
[du_Rolladen_wz_wc_auto] eq "an"
)
(
set wz_Rolladen_haupt AI,
set azi_Rolladen Auf
)

DOELSE
   NAME       di_wz_Rolladen_auto
   NR         68
   NTFY_ORDER 50-di_wz_Rolladen_auto
   STATE      cmd_5
   TYPE       DOIF
   Readings:
     2016-07-27 16:30:21   Device          du_Rolladen_wz_sunset
     2016-07-27 16:30:21   cmd             5
     2016-07-27 16:30:21   cmd_event       du_Rolladen_wz_sunset
     2016-07-27 16:30:21   cmd_nr          5
     2016-07-27 16:30:20   e_du_Rolladen_wz_sunrise_STATE an
     2016-07-27 16:30:21   e_du_Rolladen_wz_sunset_STATE an
     2016-07-27 16:30:21   state           cmd_5
     2016-07-27 16:26:53   timer_1_c1      28.07.2016 00:00:00|0123456
     2016-07-27 16:26:53   timer_2_c2      27.07.2016 21:30:00|0123456
     2016-07-27 16:12:59   timer_3_c3      28.07.2016 04:54:26|8
     2016-07-27 16:26:46   timer_4_c3      28.07.2016 04:54:26|7
     2016-07-27 16:12:59   timer_5_c4      28.07.2016 07:00:00|8
     2016-07-27 16:26:46   timer_6_c4      28.07.2016 08:00:00|7
   Condition:
     0            DOIF_time_once($hash,$hash->{timer}{0},$wday,"0123456") and  InternalDoIf($hash,'du_Rolladen_wz_sunset','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) eq "an" and InternalDoIf($hash,'du_Rolladen_wz_wc_auto','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) eq "an"
     1            DOIF_time_once($hash,$hash->{timer}{1},$wday,"0123456") and InternalDoIf($hash,'du_Rolladen_wz_sunset','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) eq "aus" and InternalDoIf($hash,'du_Rolladen_wz_wc_auto','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) eq "an"
     2            ( DOIF_time_once($hash,$hash->{timer}{2},$wday,"8") or  DOIF_time_once($hash,$hash->{timer}{3},$wday,"7") ) and InternalDoIf($hash,'du_Rolladen_wz_sunrise','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) eq "an" and InternalDoIf($hash,'du_Rolladen_wz_wc_auto','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) eq "an"
     3            ( DOIF_time_once($hash,$hash->{timer}{4},$wday,"8") or DOIF_time_once($hash,$hash->{timer}{5},$wday,"7") ) and InternalDoIf($hash,'du_Rolladen_wz_sunrise','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) eq "aus" and InternalDoIf($hash,'du_Rolladen_wz_wc_auto','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) eq "an"
   Days:
     0          0123456
     1          0123456
     2          8
     3          7
     4          8
     5          7
   Devices:
     0           du_Rolladen_wz_sunset du_Rolladen_wz_wc_auto
     1           du_Rolladen_wz_sunset du_Rolladen_wz_wc_auto
     2           du_Rolladen_wz_sunrise du_Rolladen_wz_wc_auto
     3           du_Rolladen_wz_sunrise du_Rolladen_wz_wc_auto
     all         du_Rolladen_wz_sunset du_Rolladen_wz_wc_auto du_Rolladen_wz_sunrise
   Do:
     0:
       0            set wz_Rolladen_haupt A0,  set azi_Rolladen Zu
     1:
       0            set wz_Rolladen_haupt A0,  set azi_Rolladen Zu
     2:
       0            set wz_Rolladen_haupt AI, set azi_Rolladen Auf
     3:
       0            set wz_Rolladen_haupt AI,  set azi_Rolladen Auf
     4:
       0
   Helper:
     event      an
     globalinit 1
     last_timer 6
     sleeptimer -1
     timerdev   du_Rolladen_wz_sunset
     timerevent an
     triggerDev du_Rolladen_wz_sunset
     timerevents:
       an
     timereventsState:
       state: an
     triggerEvents:
       an
     triggerEventsState:
       state: an
   Internals:
     0           du_Rolladen_wz_sunset:STATE du_Rolladen_wz_wc_auto:STATE
     1           du_Rolladen_wz_sunset:STATE du_Rolladen_wz_wc_auto:STATE
     2           du_Rolladen_wz_sunrise:STATE du_Rolladen_wz_wc_auto:STATE
     3           du_Rolladen_wz_sunrise:STATE du_Rolladen_wz_wc_auto:STATE
     all         du_Rolladen_wz_sunset:STATE du_Rolladen_wz_wc_auto:STATE du_Rolladen_wz_sunrise:STATE
   Interval:
   Itimer:
     all         du_Rolladen_Zeit_wz_ru du_Rolladen_Zeit_wz_ho du_Rolladen_Zeit_wz_ho_we
   Localtime:
     0          1469656800
     1          1469647800
     2          1469674466
     3          1469674466
     4          1469682000
     5          1469685600
   Readings:
   Realtime:
     0          00:00:00
     1          21:30:00
     2          04:54:26
     3          04:54:26
     4          07:00:00
     5          08:00:00
   Regexp:
     0:
     1:
     2:
     3:
     All:
   State:
   Time:
     0          {sunset(0,"16:00","[du_Rolladen_Zeit_wz_ru]")}
     1          [du_Rolladen_Zeit_wz_ru]
     2          {sunrise(0,"[du_Rolladen_Zeit_wz_ho]","12:00")}
     3          {sunrise(0,"[du_Rolladen_Zeit_wz_ho_we]","12:00")}
     4          [du_Rolladen_Zeit_wz_ho]
     5          [du_Rolladen_Zeit_wz_ho_we]
   Timecond:
     0          0
     1          1
     2          2
     3          2
     4          3
     5          3
   Timer:
     0          0
     1          0
     2          0
     3          0
     4          0
     5          0
   Timers:
     0           0
     1           1
     2           2  3
     3           4  5
   Trigger:
   Triggertime:
     1469647800:
       localtime  1469647800
       Hash:
     1469656800:
       localtime  1469656800
       Hash:
     1469674466:
       localtime  1469674466
       Hash:
     1469682000:
       localtime  1469682000
       Hash:
     1469685600:
       localtime  1469685600
       Hash:
Attributes:
   do         always
   room       Rolladen Settings


Was siehst du? Is wie ne Glaskugel. Oder? :D

Bis denn
SouzA

EDIT: SORRY! Ich habe überlesen, dass ich das DOIF aktualisieren muss!
Das muss ich nun erstmal machen. Was bedeutet, dass ich erstmal schauen muss, wie das geht :)
Melde mich wieder!
Titel: Antw:sunset_el min/max über UI?
Beitrag von: Ellert am 27 Juli 2016, 20:11:12
Nur am Rande: "|0123456" kannst Du weglassen, alle Tage ist default.
Titel: Antw:sunset_el min/max über UI?
Beitrag von: SouzA am 28 Juli 2016, 10:20:39
So, aktualisiert!

Funzt. Bis auf, dass das Datum der am WE auszuführenden Befehle nicht passt. Auch hier wird der nächste Tag angegeben.


Das DOIF kann ja eigentlich alles... kann es mir auch ausspucken welcher Timer aktuell aktiv ist, also wann das Rollo das nächste mal hoch oder runter fährt?

Ich habe FunkOdyssey so verstanden, dass es mit dem Twilight-Modul funktionieren würde.
Aber wenn das Twilight auch im DOIF bearbeitet werden kann, so müssten doch vom sunset ähnliche Werte generiert werden können?

Vielen Dank für eure Hilfe. Die Steuerung läuft nun erstmal so, wie ich es mir vorgestellt habe! :D

Bis denn
SouzA
Titel: Antw:sunset_el min/max über UI?
Beitrag von: Ellert am 28 Juli 2016, 11:53:56
ZitatAuch hier wird der nächste Tag angegeben.

Die Timer werden unabhängig von den Wochentagen gesetzt, die Tage und die anderen Operanden werden erst geprüft, wenn der Timer fällig ist.

Deshalb kann der nächste Zeitpunkt nur unabhängig von der Wochentagprüfung und den anderen Bedingungen ermittelt werden, z.B. mit min(Timer_1, Timer_2, ...)
Titel: Antw:sunset_el min/max über UI?
Beitrag von: SouzA am 29 Juli 2016, 10:40:34
Hi,

heute ist ein Update vom 98_DOIF mit dabei...
Sind die Änderungen dann mit drin?

Vielen Dank für eine Antwort!

Bis denn
SouzA
Titel: Antw:sunset_el min/max über UI?
Beitrag von: FunkOdyssey am 29 Juli 2016, 10:43:09
Zitat von: SouzA am 29 Juli 2016, 10:40:34
Hi,

heute ist ein Update vom 98_DOIF mit dabei...
Sind die Änderungen dann mit drin?

Vielen Dank für eine Antwort!

Bis denn
SouzA

Heute war kein DOIF-Update. Seit dem 26. April (https://sourceforge.net/p/fhem/code/HEAD/tree/trunk/fhem/FHEM/98_DOIF.pm) ist das Modul unverändert.

Kann es sein, dass du selber eine Beta hochgeladen hast und diese nicht per "exclude_from_update" vor dem nächsten FHEM-Update geschützt hast? :-)
Titel: Antw:sunset_el min/max über UI?
Beitrag von: SouzA am 29 Juli 2016, 11:11:24
Möglich ist das... Wenn ich das DOIF jetzt excludiere, wie includiere ich es irgendwann wieder?

Bis denn
SouzA
Titel: Antw:sunset_el min/max über UI?
Beitrag von: Ellert am 29 Juli 2016, 15:02:58
Indem Du es nicht mehr excludierst  ::)
Titel: Antw:sunset_el min/max über UI?
Beitrag von: SouzA am 29 Juli 2016, 18:57:17
Hmm, ich hätte gedacht, dass man das einmal global setzt und man das dann nicht mehr machen müsste.
Wenn man das jedes Mal machen muss, dann ist es klar.

Danke.

Bis denn
SouzA
Titel: Antw:sunset_el min/max über UI?
Beitrag von: Ellert am 29 Juli 2016, 19:59:05
Du excludierst einmal, solange Du die Beta-Version laufen hast, wenn dann die Beta-Version ins normale Update geht, dann nimmst Du die Exklusion wieder raus.