Hauptmenü

DOIF Rolladen

Begonnen von no_Legend, 01 Juni 2015, 15:03:10

Vorheriges Thema - Nächstes Thema

kvo1

Zitat von: no_Legend am 09 Juni 2015, 10:37:44
@Kvo1

Benutzt du nicht den Holiday Kalender in FHEM für die Feiertage?
Also holiday2we?

Gruß Robert
Hallo Robert,

NEIN, dann müßte ich ja auch eine Holiday Datei pflegen (wenn ich das richtig verstanden habe ) ?!
und dort immer alle Feiertage und Ferientage eintragen ...

klaus
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

Virsacer

ZitatDazu habe ich einen "Ferien/FeiertagsKalender"  , diesen lese ich zyklisch aus und wenn der nächste
Tag ein Ferien oder Feiertag ist dann wird ein Dummy "BLN_Ferientag" auf 1 gesetzt.
Also ich schaue beim Schalten, ob der aktuelle Tag ein Feiertag ist...

kvo1


ZitatAlso ich schaue beim Schalten, ob der aktuelle Tag ein Feiertag ist...

und wie genau machst Du das ?




RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

Virsacer

Naja, ich schaue in der DOIF Bedingung einfach, ob was in [Calendar_Holiday:modeStart] steht ;)

kvo1

Zitat von: Virsacer am 09 Juni 2015, 13:19:59
Naja, ich schaue in der DOIF Bedingung einfach, ob was in [Calendar_Holiday:modeStart] steht ;)

Letztlich möchte ich ja mit meinen Owncloud-Kalender und dem dummy nichts anderes erreichen , mir fehlt nur die Erweiterung des
bereits vorhandenen DOIF........ da breche ich mir gerade einen ab , bekomme es nícht hin  ::)

so sieht das DOIF bisher aus

define Rollo_AutomatikBZ DOIF ([RolloModusBZ] eq "FHEM" and ([[du_RolloZeitBZ_hoch_WT]|8] or [[du_RolloZeitBZ_hoch_WE]|7]) or [RolloModusBZ] eq "ASTRO" and [Tageslicht] eq "hell") (set BZ_Rollladen auf, set DU_BZ_Rollladen auf) DOELSEIF ([RolloModusBZ] eq "FHEM" and ([[du_RolloZeitBZ_runter]|8] or [[du_RolloZeitBZ_runter]|7]) or [RolloModusBZ] eq "ASTRO" and [Tageslicht] eq "dunkel") (set BZ_Rollladen zu, set DU_BZ_Rollladen zu)
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

flurin

#20
Zitat von: kvo1 am 09 Juni 2015, 16:55:01
so sieht das DOIF bisher aus

define Rollo_AutomatikBZ DOIF ([RolloModusBZ] eq "FHEM" and ([[du_RolloZeitBZ_hoch_WT]|8] or [[du_RolloZeitBZ_hoch_WE]|7]) or [RolloModusBZ] eq "ASTRO" and [Tageslicht] eq "hell") (set BZ_Rollladen auf, set DU_BZ_Rollladen auf) DOELSEIF ([RolloModusBZ] eq "FHEM" and ([[du_RolloZeitBZ_runter]|8] or [[du_RolloZeitBZ_runter]|7]) or [RolloModusBZ] eq "ASTRO" and [Tageslicht] eq "dunkel") (set BZ_Rollladen zu, set DU_BZ_Rollladen zu)

Es ist vermutlich ein Problem mit den Klammern:

define Rollo_AutomatikBZ DOIF ([RolloModusBZ] eq "FHEM" and ([[du_RolloZeitBZ_hoch_WT]|8] or [[du_RolloZeitBZ_hoch_WE]|7])
or ([RolloModusBZ] eq "ASTRO" and [Tageslicht] eq "hell"))
   (set BZ_Rollladen auf, set DU_BZ_Rollladen auf)
DOELSEIF ([RolloModusBZ] eq "FHEM" and ([[du_RolloZeitBZ_runter]|8] or [[du_RolloZeitBZ_runter]|7])
or ([RolloModusBZ] eq "ASTRO" and [Tageslicht] eq "dunkel"))
   (set BZ_Rollladen zu, set DU_BZ_Rollladen zu)


Edit: Evt. noch feiner unterteilen:
define Rollo_AutomatikBZ DOIF (([RolloModusBZ] eq "FHEM" and ([[du_RolloZeitBZ_hoch_WT]|8] or [[du_RolloZeitBZ_hoch_WE]|7]))
or ([RolloModusBZ] eq "ASTRO" and [Tageslicht] eq "hell"))
   (set BZ_Rollladen auf, set DU_BZ_Rollladen auf)
DOELSEIF (([RolloModusBZ] eq "FHEM" and ([[du_RolloZeitBZ_runter]|8] or [[du_RolloZeitBZ_runter]|7]))
or ([RolloModusBZ] eq "ASTRO" and [Tageslicht] eq "dunkel"))
   (set BZ_Rollladen zu, set DU_BZ_Rollladen zu)




kvo1

Hallo flurin,

ich glaube , ich habe mich da vermutlich etwas ungeschickt ausgedrückt.

So wie in meinem Beitrag von "am: Heute um 00:03:57 " dargestellt läuft das alles wunderbar.

Ich möchte das jetzt nur noch dahin gehend erweitern , das sich die Rollladen auch unter der Woche wenn ein Feiertag ist oder Ferien sind
(also wenn das dummy "BLN_Ferientag" auf 1 gesetzt ist so verhalten wie am Wochenenden (also später öffnen).

LG
Klaus
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

flurin

Zitat von: kvo1 am 09 Juni 2015, 20:32:27
Hallo flurin,

ich glaube , ich habe mich da vermutlich etwas ungeschickt ausgedrückt.

So wie in meinem Beitrag von "am: Heute um 00:03:57 " dargestellt läuft das alles wunderbar.

Ich möchte das jetzt nur noch dahin gehend erweitern , das sich die Rollladen auch unter der Woche wenn ein Feiertag ist oder Ferien sind
(also wenn das dummy "BLN_Ferientag" auf 1 gesetzt ist so verhalten wie am Wochenenden (also später öffnen).

LG
Klaus

Okey, ich hab's übersehen, sorry.

Wobei 7 der $we Variable entspricht, d.h. Wochenende und Feiertage.
Siehe auch global holiday2we.


kvo1

ZitatWobei 7 der $we Variable entspricht, d.h. Wochenende und Feiertage.
Siehe auch global holiday2we.

aber "holiday2we" wird ja in meiner Variante m.E. überhaupt nicht genutzt !
und was mache ich mit den Ferien ?

Vielleicht hat ja Damian noch eine IDEE wenn er das hier liest  :-[

klaus
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

Damian

Zitat von: kvo1 am 09 Juni 2015, 21:57:56
aber "holiday2we" wird ja in meiner Variante m.E. überhaupt nicht genutzt !
und was mache ich mit den Ferien ?

Vielleicht hat ja Damian noch eine IDEE wenn er das hier liest  :-[

klaus


Dann musst du einfach

...([[du_RolloZeitBZ_hoch_WT]|8] or [[du_RolloZeitBZ_hoch_WE]|7])...

erweitern auf

...([[du_RolloZeitBZ_hoch_WT]|8] or [[du_RolloZeitBZ_hoch_WE]|7] or [[du_RolloZeitBZ_hoch_WE]] and [BLN_Ferientag] == 1)...

Das Runterfahren schaffst du dann alleine.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

no_Legend

Das mit den Feiertagen mit Holiday2we ist kein pflege Aufwand.
Wir einmal definiert.

Die Variablen Feiertage werden per Formel errechnet.
Sonst hätte ich ihn auch nicht genutzt keine Lust jedes Jahr das Teil anzupassen.
IntelNUC mit Ubuntu mit FHEM immer aktuell,2x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
HM-SEC-KEY,HM-LC-BL1-FM,HM-SEC-SD,HM-Sen-DB-PCB,HM-Sec-RHS,HM-Sec-SC-2,HM-WDS10-TH-O,Harmony,Netamo, 433MHz Steckdosen uvm.

kvo1

Hallo Damian,

habe ich getestet, geht so leider nicht (oder falsch verstanden).

Der Rolllanden fuhr ganz normal hoch weil schon ....[[du_RolloZeitBZ_hoch_WT]|8]..... erfüllt war .
ABER: im Kalender ist für heute ein Feiertag (testweise) und BLN_Ferientag ist somit 1 , d.h. der
Rolllanden hätte erst später (wenn du_RolloZeitBZ_hoch_WE  eintritt) hochfahren dürfen.
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

flurin

#27
Zitat von: kvo1 am 10 Juni 2015, 08:12:43
Hallo Damian,

habe ich getestet, geht so leider nicht (oder falsch verstanden).

Der Rolllanden fuhr ganz normal hoch weil schon ....[[du_RolloZeitBZ_hoch_WT]|8]..... erfüllt war .
ABER: im Kalender ist für heute ein Feiertag (testweise) und BLN_Ferientag ist somit 1 , d.h. der
Rolllanden hätte erst später (wenn du_RolloZeitBZ_hoch_WE  eintritt) hochfahren dürfen.

Das ist das Problem bei solchen DOIF Einzeilern, sie sind schwer zu warten.
Du müsstest zusätzlich noch [BLN_Ferientag] == 0 einbauen.
IMHO ist es besser das DOIF aufzuteilen. Einige Beispiele findest du hier im Forum.

Gruss
flurin

en-trust

Wenn ich neben dem Modus FHEM noch einen weiteren Modus für eine manuelle Zeiteingabe einrichten möchte, muss ich dann weitere Dummys analog zu du_RolloZeitBZ_hoch_WE einrichten ?

Fhem...
# Dummys fuer Zeit Hoch Woche
define du_RolloZeitBZ_hoch_WT dummy
attr du_RolloZeitBZ_hoch_WT alias Rollläden BZ - Zeit öffnen WT
attr du_RolloZeitBZ_hoch_WT devStateIcon .*:rc_BLANK
attr du_RolloZeitBZ_hoch_WT group Jalousie
attr du_RolloZeitBZ_hoch_WT icon icoUhr
attr du_RolloZeitBZ_hoch_WT room Automation
attr du_RolloZeitBZ_hoch_WT setList state:time
attr du_RolloZeitBZ_hoch_WT sortby 21
attr du_RolloZeitBZ_hoch_WT webCmd state


Events, um Rolladen später runter zu fahren...
# Dummys fuer Zeit Hoch Woche
define du_RolloEventBZ_hoch_WT dummy
attr du_RolloEventBZ_hoch_WT alias Rollläden BZ - Zeit öffnen WT
attr du_RolloEventBZ_hoch_WT devStateIcon .*:rc_BLANK
attr du_RolloEventBZ_hoch_WT group Jalousie
attr du_RolloEventBZ_hoch_WT icon icoUhr
attr du_RolloEventBZ_hoch_WT room Automation
attr du_RolloEventBZ_hoch_WT setList state:time
attr du_RolloEventBZ_hoch_WT sortby 21
attr du_RolloEventBZ_hoch_WT webCmd state

Per

Zitat von: kvo1 am 09 Juni 2015, 21:57:56
aber "holiday2we" wird ja in meiner Variante m.E. überhaupt nicht genutzt !
und was mache ich mit den Ferien ?
Ich finde es einfacher, die Feiertagsdatei einmal zu pflegen als jeden Ferien-/Feiertag manuell in das DOIF :o einzutragen.

Nebenbei: lasst doch bitte die für die Funktion völlig unwichtigen Attribute wie group, icon oder room weg! Das erhöht den Überblick ungemein! Bei drei Einträgen fängt man nämlich schon an zu scrollen und sieht nicht mehr alles auf einmal.