FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: mayerst am 06 Februar 2015, 08:24:09

Titel: (gelöst) holiday2we scheint fehlerhaft
Beitrag von: mayerst am 06 Februar 2015, 08:24:09
hallo,

leider werde ich unter der Woche ständig durch ein zu frühes Hochfahren des  Rolladens geweckt, obwohl ich die Urlaubs Datei gepflegt habe und diese Auch Urlaub bestätigt. holiday2we ist gesetzt und funktioniert auch mit get Urlaub 02-06

Hier mein DOIF Def
   
([{sunrise(0,"06:50","08:00")}|8]) (set OG_SPORT_ROLLADEN on, set OG_SCHLAFZIMMER_ROLLADEN on)
DOELSEIF
([{sunrise(0,"08:30","09:00")}|7]) (set OG_SPORT_ROLLADEN on, set OG_SCHLAFZIMMER_ROLLADEN on)


Was ist hier falsch?

Danke Stefan
Titel: Antw:DOIF AM Wochenende
Beitrag von: Damian am 06 Februar 2015, 10:16:11
Zitat von: mayerst am 06 Februar 2015, 08:24:09
hallo,

leider werde ich unter der Woche ständig durch ein zu frühes Hochfahren des  Rolladens geweckt, obwohl ich die Urlaubs Datei gepflegt habe und diese Auch Urlaub bestätigt. holiday2we ist gesetzt und funktioniert auch mit get Urlaub 02-06

Hier mein DOIF Def
   
([{sunrise(0,"06:50","08:00")}|8]) (set OG_SPORT_ROLLADEN on, set OG_SCHLAFZIMMER_ROLLADEN on)
DOELSEIF
([{sunrise(0,"08:30","09:00")}|7]) (set OG_SPORT_ROLLADEN on, set OG_SCHLAFZIMMER_ROLLADEN on)


Was ist hier falsch?

Danke Stefan


Hier ist nichts falsch. Poste hier Ausgabe von list <dein-DOIF-Modul>, dann kann ich eher sagen, warum es nicht so funktioniert wie du denkst.

Gruß

Damian
Titel: Antw:DOIF AM Wochenende
Beitrag von: mayerst am 06 Februar 2015, 10:28:24
Hallo hier mein Listing:
Internals:
   CFGFN      /opt/fhem/FHEM/99_Steuerung.cfg
   DEF        ([{sunrise(0,"06:50","08:00")}|8]) (set OG_SPORT_ROLLADEN on, set OG_SCHLAFZIMMER_ROLLADEN on)
DOELSEIF
([{sunrise(0,"08:30","09:00")}|7]) (set OG_SPORT_ROLLADEN on, set OG_SCHLAFZIMMER_ROLLADEN on)
   NAME       RolladenAuf
   NR         194
   NTFY_ORDER 50-RolladenAuf
   STATE      cmd_1
   TYPE       DOIF
   Readings:
     2015-02-06 07:16:58   cmd_event       timer_1
     2015-02-06 07:16:58   cmd_nr          1
     2015-02-06 07:16:58   state           cmd_1
     2015-02-06 07:16:58   timer_1_c1      07.02.2015 07:15:33|8
     2015-02-06 08:30:00   timer_2_c2      07.02.2015 08:30:00|7
   Condition:
     0          DOIF_time_once($hash->{timer}{0},$wday,"8")
     1          DOIF_time_once($hash->{timer}{1},$wday,"7")
   Days:
     0          8
     1          7
   Devices:
   Do:
     0          set OG_SPORT_ROLLADEN on, set OG_SCHLAFZIMMER_ROLLADEN on
     1          set OG_SPORT_ROLLADEN on, set OG_SCHLAFZIMMER_ROLLADEN on
   Helper:
     last_timer 2
     sleeptimer -1
   Internals:
   Readings:
   Realtime:
     0          07:15:33
     1          08:30:00
   State:
   Time:
     0          {sunrise(0,"06:50","08:00")}
     1          {sunrise(0,"08:30","09:00")}
   Timecond:
     0          0
     1          1
   Timer:
     0          0
     1          0
   Timerfunc:
   Timers:
     0           0
     1           1
Attributes:
   disable    0

Danke Stefan
Titel: Antw:DOIF AM Wochenende
Beitrag von: Damian am 06 Februar 2015, 10:31:48
Zitat von: mayerst am 06 Februar 2015, 10:28:24
Hallo hier mein Listing:
Internals:
   CFGFN      /opt/fhem/FHEM/99_Steuerung.cfg
   DEF        ([{sunrise(0,"06:50","08:00")}|8]) (set OG_SPORT_ROLLADEN on, set OG_SCHLAFZIMMER_ROLLADEN on)
DOELSEIF
([{sunrise(0,"08:30","09:00")}|7]) (set OG_SPORT_ROLLADEN on, set OG_SCHLAFZIMMER_ROLLADEN on)
   NAME       RolladenAuf
   NR         194
   NTFY_ORDER 50-RolladenAuf
   STATE      cmd_1
   TYPE       DOIF
   Readings:
     2015-02-06 07:16:58   cmd_event       timer_1
     2015-02-06 07:16:58   cmd_nr          1
     2015-02-06 07:16:58   state           cmd_1
     2015-02-06 07:16:58   timer_1_c1      07.02.2015 07:15:33|8
     2015-02-06 08:30:00   timer_2_c2      07.02.2015 08:30:00|7
   Condition:
     0          DOIF_time_once($hash->{timer}{0},$wday,"8")
     1          DOIF_time_once($hash->{timer}{1},$wday,"7")
   Days:
     0          8
     1          7
   Devices:
   Do:
     0          set OG_SPORT_ROLLADEN on, set OG_SCHLAFZIMMER_ROLLADEN on
     1          set OG_SPORT_ROLLADEN on, set OG_SCHLAFZIMMER_ROLLADEN on
   Helper:
     last_timer 2
     sleeptimer -1
   Internals:
   Readings:
   Realtime:
     0          07:15:33
     1          08:30:00
   State:
   Time:
     0          {sunrise(0,"06:50","08:00")}
     1          {sunrise(0,"08:30","09:00")}
   Timecond:
     0          0
     1          1
   Timer:
     0          0
     1          0
   Timerfunc:
   Timers:
     0           0
     1           1
Attributes:
   disable    0

Danke Stefan

Hier ist die Welt auch in Ordnung. Es wurde heute um 7:15 Uhr geschaltet, weil heute ein Arbeitstag ist.

Gruß

Damian
Titel: Antw:DOIF AM Wochenende
Beitrag von: mayerst am 06 Februar 2015, 10:40:57
Hallo Damian,

Bei mir nicht :)
Meine Holiday Datei sieht so aus:
# Format für einzelne Tage: 1 MM-DD <Text>
1 01-01 Neujahr
1 01-06 HDK
1 05-01 Tag der Arbeit
1 10-03 Tag der deutschen Einheit
1 11-01 Allerheiligen
1 12-25 1. Weihnachstag
1 12-26 2. Weihnachstag

# Format für Osterbezogene Feiertage: 2 <relative Tage von Ostern> <Text>
2 -2 Karfreitag
2 1 Ostermontag
2 39 Christi Himmelfahrt
2 50 Pfingsten
2 60 Fronleichnam

# Format für Urlaube: 4 MM-DD MM-DD <Text>
4 12-24 12-24 Heiligabend
4 01-01 02-28 Urlaub

Ein get Urlaub 02-06 ergibt Urlaub und holiday2we ist definiert, daher ging ich davon aus, dass das DOIF die Routine Wochenende auswertet.

Ist da was falsch dran?
Danke Stefan
Titel: Antw:DOIF AM Wochenende
Beitrag von: Damian am 06 Februar 2015, 10:45:09
Zitat von: mayerst am 06 Februar 2015, 10:40:57
Hallo Damian,

Bei mir nicht :)
Meine Holiday Datei sieht so aus:
# Format für einzelne Tage: 1 MM-DD <Text>
1 01-01 Neujahr
1 01-06 HDK
1 05-01 Tag der Arbeit
1 10-03 Tag der deutschen Einheit
1 11-01 Allerheiligen
1 12-25 1. Weihnachstag
1 12-26 2. Weihnachstag

# Format für Osterbezogene Feiertage: 2 <relative Tage von Ostern> <Text>
2 -2 Karfreitag
2 1 Ostermontag
2 39 Christi Himmelfahrt
2 50 Pfingsten
2 60 Fronleichnam

# Format für Urlaube: 4 MM-DD MM-DD <Text>
4 12-24 12-24 Heiligabend
4 01-01 02-28 Urlaub

Ein get Urlaub 02-06 ergibt Urlaub und holiday2we ist definiert, daher ging ich davon aus, dass das DOIF die Routine Wochenende auswertet.

Ist da was falsch dran?
Danke Stefan

Entscheidend ist was $we liefert. Wenn es bei dir heute 0 liefert, dann passt es zum DOIF-Verhalten.

Gruß

Damian

Titel: Antw:DOIF AM Wochenende
Beitrag von: automatisierer am 06 Februar 2015, 10:53:02
Zitat
Attributes:
   disable    0

Danke Stefan

mMn fehlt da noch ein 'attr <dev> do always'
ansonsten gehen die Rollos nur am Montag, Samstag und dem 1.Urlaubstag hoch...
Oder liege ich da falsch?

Gruß
Ingo
Titel: Antw:DOIF AM Wochenende
Beitrag von: Damian am 06 Februar 2015, 10:56:21
Zitat von: automatisierer am 06 Februar 2015, 10:53:02
mMn fehlt da noch ein 'attr <dev> do always'
ansonsten gehen die Rollos nur am Montag, Samstag und dem 1.Urlaubstag hoch...
Oder liege ich da falsch?

Gruß
Ingo

Das wird sein nächstes Problem sein. Er hat sich aber beschwert, dass der Rollladen zu früh hochfährt.


Gruß

Damian
Titel: Antw:DOIF AM Wochenende
Beitrag von: mayerst am 06 Februar 2015, 11:15:08
HI,

ein {print $we} liefert 1.

Meine DOIF'S haben alle kein DO ALWAYS ud laufen jeden Tag!? So auch der Rolladen, der bislang jeden Tag zu früh fährt. Ich habe allerdings erst seit kurzem alle AT's auf DOIF umgebaut und seit dem zeigt der Rolladen das verhalten.

Grüße Stefan
Titel: Antw:DOIF AM Wochenende
Beitrag von: automatisierer am 06 Februar 2015, 11:22:17
so lange du jeden tag änderungen an dem doif, ein reread oder shutdown restart machst ist es auch kein problem. erst wenn das doif einmal geschaltet hat und statt 'initialized' auf 'cmd_1' steht wird es erst wieder schalten wenn die bedingungen für cmd_2 wahr werden oder du ein 'do always' einbaust.
Titel: Antw:DOIF AM Wochenende
Beitrag von: automatisierer am 06 Februar 2015, 11:26:06
gib mal nur {$we} ein.
das {print $we} spuckt immer ne 1 aus, auch bei {print !$we}
Titel: Antw:DOIF AM Wochenende
Beitrag von: mayerst am 06 Februar 2015, 11:29:23
Zitat von: automatisierer am 06 Februar 2015, 11:22:17
so lange du jeden tag änderungen an dem doif, ein reread oder shutdown restart machst ist es auch kein problem. erst wenn das doif einmal geschaltet hat und statt 'initialized' auf 'cmd_1' steht wird es erst wieder schalten wenn die bedingungen für cmd_2 wahr werden oder du ein 'do always' einbaust.

ok das habe ich verstanden, danke für die Erklärung!
Titel: Antw:DOIF AM Wochenende
Beitrag von: mayerst am 06 Februar 2015, 14:11:50
{$we} ergab nichts , also keine Ausgabe
{!$we} ergab 1

daher ist wohl Fhem der Meinung, dass es kein Wochenende ist. mmmh. dann wird wohl holiday2we falsch ausgewertet und setzt nicht $we auf 1.

Hab ich da was falsch in der Doku verstanden,oder ist da ein Fehler?

Grüße Stefan
Titel: Antw:DOIF AM Wochenende
Beitrag von: automatisierer am 06 Februar 2015, 14:36:52
da ist mal von aus zu gehen... Mit holiday2we hab ich mich noch nicht beschäftigt, da muss ich passen.
Titel: Antw:holiday2we scheint fehlerhaft
Beitrag von: mayerst am 06 Februar 2015, 14:51:17
Internals:
   NAME       FeiertageUrlaub
   NR         3
   STATE      Urlaub
   TRIGGERTIME 1423263602.98383
   TYPE       holiday
   Readings:
     2015-02-06 14:17:32   state           Urlaub
     2015-02-06 14:17:32   tomorrow        Urlaub
     2015-02-06 14:17:32   yesterday       Urlaub
Attributes:
   room       Steuerung

sieht eigentlich ja gut aus!
Titel: Antw:holiday2we scheint fehlerhaft
Beitrag von: maxritti am 06 Februar 2015, 14:53:16
Und wie sieht die holiday2we Defintion aus?
Titel: Antw:holiday2we scheint fehlerhaft
Beitrag von: mayerst am 06 Februar 2015, 14:55:19
Internals:
   DEF        <no definition>
   NAME       global
   NR         1
   STATE      <no definition>
   TYPE       Global
   currentlogfile /opt/fhem/log/fhem-2015-02.log
   logfile    /opt/fhem/log/fhem-%Y-%m.log
Attributes:
   autoload_undefined_devices 1
   configfile fhem.cfg
   holiday2we ./FHEM/FeiertageUrlaub
Titel: Antw:holiday2we scheint fehlerhaft
Beitrag von: maxritti am 06 Februar 2015, 15:00:25
Zitat von: mayerst am 06 Februar 2015, 14:55:19
Internals:
   DEF        <no definition>
   NAME       global
   NR         1
   STATE      <no definition>
   TYPE       Global
   currentlogfile /opt/fhem/log/fhem-2015-02.log
   logfile    /opt/fhem/log/fhem-%Y-%m.log
Attributes:
   autoload_undefined_devices 1
   configfile fhem.cfg
   holiday2we ./FHEM/FeiertageUrlaub
Bei meiner holiday2we Config steht das Verzeichnis FHEM nicht drin. Auch wenn die Datei als ./FHEM/WieAuchImmerIchHeisse.holiday in der ConfigDB steht.

/EDIT:

Durch den Eintrag wird ja auch auf das "Device" verwiesen, welches Du als Holiday definiert hast.
Nicht auf die Datei.
Titel: Antw:holiday2we scheint fehlerhaft
Beitrag von: mayerst am 06 Februar 2015, 15:08:15
Danke! das war mein Fehler!!!

Grüße Stefan