Handling vom Wochenenddienst

Begonnen von Nighthawk, 26 Juni 2019, 04:23:00

Vorheriges Thema - Nächstes Thema

Loredo

Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Nighthawk

Hallo Rudi,

ich bin endlich mal dazu gekommen das noWeekEnd Feature zu testen.
Im großen und ganzen funktioniert es.
Ich habe aber einen Sonderfall entdeckt:
am 27.07 habe ich einen Arbeitssamstag, aber auch gleichzeitig Urlaub.
In diesem Fall gewinnt noWeekEnd und {IsWe("tomorrow")} ergibt 0, hier sollte aber das normale holiday device die prio haben.

noWeekEnd.holiday:
Internals:
   FUUID      5d1b4e6f-f33f-69d4-de29-fa916742814858c8
   HOLIDAYFILE ./FHEM/holiday/noWeekEnd.holiday
   NAME       noWeekEnd
   NR         175
   READONLY   1
   STATE      none
   TRIGGERTIME 1564156802.70919
   TYPE       holiday
   Helper:
     DBLOG:
       state:
         logdb:
           TIME       1564134616.72061
           VALUE      none
       tomorrow:
         logdb:
           TIME       1564134616.72061
           VALUE      Einarbeiten U
       yesterday:
         logdb:
           TIME       1564134616.72061
           VALUE      none
   READINGS:
     2019-07-26 17:50:16   state           none
     2019-07-26 17:50:16   tomorrow        Einarbeiten U
     2019-07-26 17:50:16   yesterday       none
Attributes:
   group      Termine


CC.holiday:
Internals:
   FUUID      5d1b4dd2-f33f-69d4-15ff-9997b20b2a3d23b8
   HOLIDAYFILE ./FHEM/holiday/CC.holiday
   NAME       CC
   NR         174
   READONLY   1
   STATE      none
   TRIGGERTIME 1564156802.6899
   TYPE       holiday
   Helper:
     DBLOG:
       state:
         logdb:
           TIME       1564134616.7066
           VALUE      none
       tomorrow:
         logdb:
           TIME       1564134616.7066
           VALUE      Urlaub CC
       yesterday:
         logdb:
           TIME       1564134616.7066
           VALUE      none
   READINGS:
     2019-07-26 17:50:16   state           none
     2019-07-26 17:50:16   tomorrow       Urlaub CC
     2019-07-26 17:50:16   yesterday       none
Attributes:
   group      Termine


global:
Internals:
   DEF        no definition
   FD         3
   NAME       global
   NR         1
   STATE      no definition
   TYPE       Global
   currentlogfile ./log/fhem-2019-KW29.log
   logfile    ./log/fhem-%Y-KW%U.log
   Helper:
     DBLOG:
       state:
         logdb:
           TIME       1564134718.13114
           VALUE      ATTR global holiday2we CC,noWeekEnd
Attributes:
   autoload_undefined_devices 1
   autosave   0
   backup_before_update 1
   configfile fhem.cfg
   group      System
   holiday2we CC,noWeekEnd
   logfile    ./log/fhem-%Y-KW%U.log
   modpath    .
   motd       1
   room       System
   statefile  ./log/fhem.save
   updateInBackground 1
   verbose    3
   version    fhem.pl:19805/2019-07-09


Gruß
Alex

Beta-User

Works as designed:
Zitat von: Beta-User am 26 Juni 2019, 21:18:47
Ablauf wäre:
1. noWeekEnd.holiday angegeben? => Durchlaufen, ob positiv. Ja => return 0;
2. weekend.holiday angegeben => übergehe 0/6 (Sa/So);
3. Werte alle .holiday aus (ggf. ohne noWeekEnd.holiday).
In dem Fall mußt du dafür sorgen, dass der Sa. aus noWeekEnd genommen wird, eine Änderung der Logik ist m.E. nicht sinnvoll. Denn sonst müßte man wissen, welcher der anderen h2we-Devices "höherrangig" zu noWeekEnd sein soll.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Nighthawk

OK, danke für die Rückmeldung.

Gruß
Alex