[Erledigt] Schalter / DOIF / Zeitumstellung

Begonnen von Xell1984, 06 April 2019, 09:03:47

Vorheriges Thema - Nächstes Thema

Xell1984

Guten Morgen,

/edit Ich hab grad das DOIF geändert (zeile 3 das Readgingsage gelöscht und neu Initialisiert). Nun geht es wieder. Und zwar alle 3 DOIF Zweige. Auch nach erneuten einsetzen von Readgingsage.

ohne Veränderungen geht seit letzten Sonntag Ein schalter in Kombination mit einem DOIF nicht mehr.
BZw. der Schalter sendet, aber das DOIF löst nicht mehr aus. Zusätzlich werden die Zeitstempel in den Schalter von der aktuellen Zeit eine Stunde Früher gesetzt. Beispiel: Eben um 8:56 drauf gedrückt. Kurz war das auch mit dem Zeitstempel zu sehen. Danach wurde es intern au 7:56 gesetzt wie im List zu sehen.
Angebunden ist dies per Desconz /Phoscon.


Internals:
   DEF        sensor 19  IODev=deCONZ
   FUUID      5ca84b04-f33f-ed1e-2f58-4e2c96cf0590497d
   FVERSION   31_HUEDevice.pm:0.190980/2019-04-02
   ID         S19
   INTERVAL   
   IODev      deCONZ
   NAME       SZ.Schalter_alle_Jalousien
   NR         273
   STATE      1002
   TYPE       HUEDevice
   lastupdated 2019-04-06 06:56:12
   lastupdated_local 2019-04-06 07:56:12
   manufacturername LUMI
   modelid    lumi.sensor_86sw2
   name       Wandsender 2-fach
   on         1
   reachable  1
   swversion  20170411
   type       ZHASwitch
   uniqueid   00:15:8d:00:01:f4:80:f1-01-0006
   READINGS:
     2019-04-06 07:56:12   battery         100
     2019-04-06 07:56:12   reachable       true
     2019-04-06 07:56:12   state           1002
     2019-04-06 07:56:12   temperature     21
   helper:
     devtype    S
     reachable  0
     update_timeout 1
     setList:
Attributes:
   IODev      deCONZ
   room       Schlafzimmer



Internals:
   DEF        ([SZ.Schalter_alle_Jalousien:state] == "1002" and (ReadingsAge("SZ.Schalter_alle_Jalousien","state","")  <= 30))  (set JalousieAlle Hoch, set RA.Morgens_Abends Hoch, set RA.Schalter_Windschutz Aktiv)
DOELSEIF
([SZ.Schalter_alle_Jalousien:state] == "2002" and (ReadingsAge("SZ.Schalter_alle_Jalousien","state","")  <= 30)) (set JalousieAlle Hoch, set RA.Morgens_Abends Hoch, set RA.Schalter_Windschutz Aktiv)
DOELSEIF
([SZ.Schalter_alle_Jalousien:state] == "3002" and (ReadingsAge("SZ.Schalter_alle_Jalousien","state","")  <= 30)) (set SZ.Jalousie toggle)
   FUUID      5ca84b04-f33f-ed1e-436a-826a9286fd38e5e1
   MODEL      FHEM
   NAME       Xiaomi_Jallousien_alle_hoch
   NR         274
   NTFY_ORDER 50-Xiaomi_Jallousien_alle_hoch
   STATE      cmd_1
   TYPE       DOIF
   VERSION    18890 2019-03-13 18:56:41
   READINGS:
     2019-04-06 08:56:27   Device          SZ.Schalter_alle_Jalousien
     2019-04-06 08:13:45   cmd             1
     2019-04-06 08:13:45   cmd_event       set_cmd_1
     2019-04-06 08:13:45   cmd_nr          1
     2019-04-06 08:56:27   e_SZ.Schalter_alle_Jalousien_state 1002
     2019-04-06 08:12:23   mode            enabled
     2019-04-06 08:13:45   state           cmd_1
   Regex:
     accu:
   condition:
     0          ::ReadingValDoIf($hash,'SZ.Schalter_alle_Jalousien','state') == "1002" and (ReadingsAge("SZ.Schalter_alle_Jalousien","state","")  <= 30)
     1          ::ReadingValDoIf($hash,'SZ.Schalter_alle_Jalousien','state') == "2002" and (ReadingsAge("SZ.Schalter_alle_Jalousien","state","")  <= 30)
     2          ::ReadingValDoIf($hash,'SZ.Schalter_alle_Jalousien','state') == "3002" and (ReadingsAge("SZ.Schalter_alle_Jalousien","state","")  <= 30)
   devices:
     0           SZ.Schalter_alle_Jalousien
     1           SZ.Schalter_alle_Jalousien
     2           SZ.Schalter_alle_Jalousien
     all         SZ.Schalter_alle_Jalousien
   do:
     0:
       0          set JalousieAlle Hoch, set RA.Morgens_Abends Hoch, set RA.Schalter_Windschutz Aktiv
     1:
       0          set JalousieAlle Hoch, set RA.Morgens_Abends Hoch, set RA.Schalter_Windschutz Aktiv
     2:
       0          set SZ.Jalousie toggle
     3:
   helper:
     event      battery: 100,reachable: true,temperature: 21,1002
     globalinit 1
     last_timer 0
     sleeptimer -1
     triggerDev SZ.Schalter_alle_Jalousien
     triggerEvents:
       battery: 100
       reachable: true
       temperature: 21
       1002
     triggerEventsState:
       battery: 100
       reachable: true
       temperature: 21
       state: 1002
   internals:
   itimer:
   perlblock:
   readings:
     0           SZ.Schalter_alle_Jalousien:state
     1           SZ.Schalter_alle_Jalousien:state
     2           SZ.Schalter_alle_Jalousien:state
     all         SZ.Schalter_alle_Jalousien:state
   trigger:
   uiState:
   uiTable:
Attributes:
   do         always
   event-on-update-reading state
   room       Rolladenautomatik,Schlafzimmer


{$hms}
Hier wird die aktuelle (richtige) Uhrzeit ausgegeben.

Updates grad eben durchgeführt um auf Nummer sicher zu gehen..

Irgend eine Idee?
Razpberry on Raspberry Pi 3 mit Raspian Jessy

Damian

Das scheinen eher Zeit-Probleme von HUE als von DOIF zu sein -> anderes FHEM-Board. Du kannst in der Kommandozeile {ReadingsAge("SZ.Schalter_alle_Jalousien","state","")} aufrufen, dann siehst du was das System liefert, daran kannst du erkennen, ob die DOIF-Bedingung wahr ist oder nicht.

Zahlenvergleiche ohne Anführungszeichen, Zeichenketten mit eq vergleichen:

[SZ.Schalter_alle_Jalousien:state] == 1002

oder

[SZ.Schalter_alle_Jalousien:state] eq "1002"
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF