FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: misux am 03 Juni 2018, 22:18:28

Titel: (ERLEDIGT) DOIF schaltet einfache Schaltung nicht, Checkall schon...
Beitrag von: misux am 03 Juni 2018, 22:18:28
Oh mann.... ich verzweifel hier...

Eigentlich müsste doch dieses DOIF sobald LichtSensor:brightness kleiner als 0.5 wird das (set Hausnummernbeleuchtung on) (set Fensterbeleuchtung on) durchgeführt werden... keine Hexerei... aber Pustekuchen! Ich sitze hier beobachte das "Probably assiociated with" sehe wie der Wert von 0.65 auf 0.35 springt und das DOIF lacht mich aus...

Und ja das Tageslicht_outdoor ist schon auf "Nacht"...

Wo ist mein Problem... irgendwie spinnen alle meine DOIFS sobald ich [LichtSensor:brightness] <> x.x benutze...

Führe ich checkall durch läüft es...  :-\

Das DOIF

([Tageslicht_outdoor] eq "Nacht" and [LichtSensor:brightness] < 0.5) (set Hausnummernbeleuchtung on) (set Fensterbeleuchtung on)
DOELSEIF
([23:00]) (set Hausbeleuchtung on) (set Fensterbeleuchtung off)
DOELSEIF
([05:00]) (set Fensterbeleuchtung on) (set Hausbeleuchtung off)
DOELSEIF
([Tageslicht_outdoor] eq "Tag" and [LichtSensor:brightness] > 1.0) (set Hausnummernbeleuchtung off) (set Fensterbeleuchtung off) (set Hausbeleuchtung off)


List vom DOIF
Internals:
   DEF        ([Tageslicht_outdoor] eq "Nacht" and [LichtSensor:brightness] < 0.5) (set Hausnummernbeleuchtung on) (set Fensterbeleuchtung on)
DOELSEIF
([23:00]) (set Hausbeleuchtung on) (set Fensterbeleuchtung off)
DOELSEIF
([05:00]) (set Fensterbeleuchtung on) (set Hausbeleuchtung off)
DOELSEIF
([Tageslicht_outdoor] eq "Tag" and [LichtSensor:brightness] > 1.0) (set Hausnummernbeleuchtung off) (set Fensterbeleuchtung off) (set Hausbeleuchtung off)
   MODEL      FHEM
   NAME       DOIFAussenbeleuchtung
   NR         102
   NTFY_ORDER 50-DOIFAussenbeleuchtung
   STATE      initialized
   TYPE       DOIF
   READINGS:
     2018-06-03 22:06:27   cmd             0
     2018-06-03 22:06:43   mode            enabled
     2018-06-03 22:06:27   state           initialized
     2018-06-03 22:06:27   timer_01_c02    03.06.2018 23:00:00
     2018-06-03 22:06:27   timer_02_c03    04.06.2018 05:00:00
   Regex:
   condition:
     0          InternalDoIf($hash,'Tageslicht_outdoor','STATE') eq "Nacht" and ReadingValDoIf($hash,'LichtSensor','brightness') < 0.5
     1          DOIF_time_once($hash,0,$wday)
     2          DOIF_time_once($hash,1,$wday)
     3          InternalDoIf($hash,'Tageslicht_outdoor','STATE') eq "Tag" and ReadingValDoIf($hash,'LichtSensor','brightness') > 1.0
   days:
   devices:
     0           Tageslicht_outdoor LichtSensor
     3           Tageslicht_outdoor LichtSensor
     all         Tageslicht_outdoor LichtSensor
   do:
     0:
       0          set Hausnummernbeleuchtung on
       1          set Fensterbeleuchtung on
     1:
       0          set Hausbeleuchtung on
       1          set Fensterbeleuchtung off
     2:
       0          set Fensterbeleuchtung on
       1          set Hausbeleuchtung off
     3:
       0          set Hausnummernbeleuchtung off
       1          set Fensterbeleuchtung off
       2          set Hausbeleuchtung off
     4:
   helper:
     DOIF_Readings_events
     DOIF_eventas
     globalinit 1
     last_timer 2
     sleeptimer -1
     triggerDev
   internals:
     0           Tageslicht_outdoor:STATE
     3           Tageslicht_outdoor:STATE
     all         Tageslicht_outdoor:STATE
   intervalfunc:
   itimer:
   localtime:
     0          1528059600
     1          1528081200
   readings:
     0           LichtSensor:brightness
     3           LichtSensor:brightness
     all         LichtSensor:brightness
   realtime:
     0          23:00:00
     1          05:00:00
   time:
     0          23:00:00
     1          05:00:00
   timeCond:
     0          1
     1          2
   timer:
     0          0
     1          0
   timers:
     1           0
     2           1
   triggertime:
     1528059600:
       localtime  1528059600
       hash:
     1528081200:
       localtime  1528081200
       hash:
   uiState:
   uiTable:
Attributes:
   room       2 DOIF


HIer ein List vom LichtSensor falls benötigt:

Internals:
   CHANGED   
   CULHat4_MSGCNT 90
   CULHat4_RAWMSG A0F14865363E16400000000C10000000D::-68:CULHat4
   CULHat4_RSSI -68
   CULHat4_TIME 2018-06-03 22:31:57
   DEF        63E164
   IODev      CULHat4
   LASTInputDev CULHat4
   MSGCNT     90
   NAME       LichtSensor
   NOTIFYDEV  global
   NR         231
   NTFY_ORDER 50-LichtSensor
   STATE      B: 0.13
   TYPE       CUL_HM
   lastMsg    No:14 - t:53 s:63E164 d:000000 00C10000000D
   protLastRcv 2018-06-03 22:31:57
   rssi_at_CULHat4 cnt:90 min:-78.5 max:-65 avg:-71.27 lst:-68
   READINGS:
     2018-06-03 17:55:23   Activity        alive
     2018-06-01 16:32:40   CommandAccepted yes
     2018-06-01 16:31:49   D-firmware      1.1
     2018-06-01 16:31:49   D-serialNr      OEQ2281259
     2018-06-01 16:32:40   PairedTo        0xXXXXXX
     2018-06-01 15:34:05   R-cyclicInfoMsgDis 0
     2018-06-01 16:32:40   R-pairCentral   0xXXXXXX
     2018-06-01 15:34:05   R-sign          off
     2018-06-01 16:32:40   RegL_00.        02:01 0A:AA 0B:43 0C:EF 11:00 14:06 18:00 00:00
     2018-06-01 16:32:40   RegL_01.        02:50 08:00 30:06 7B:08 AC:00 00:00
     2018-06-03 22:31:57   battery         ok
     2018-06-03 22:31:57   brightness      0.13
     2018-06-01 15:31:37   powerOn         2018-06-01 15:31:37
     2018-06-01 15:31:37   recentStateType info
     2018-06-03 22:31:57   state           B: 0.13
   helper:
     HM_CMDNR   20
     mId        00FD
     regLst     ,0,1
     rxType     12
     supp_Pair_Rep 0
     expert:
       def        1
       det        0
       raw        1
       tpl        0
     io:
       newChn     +63E164,00,00,00
       nextSend   1528057917.85334
       prefIO     
       rxt        2
       vccu       
       p:
         63E164
         00
         00
         00
     mRssi:
       mNo        14
       io:
         CULHat4:
           -64
           -64
     prt:
       bErr       0
       sProc      0
     q:
       qReqConf   
       qReqStat   
     role:
       chn        1
       dev        1
     rssi:
       at_CULHat4:
         avg        -71.2777777777778
         cnt        90
         lst        -68
         max        -65
         min        -78.5
Attributes:
   IODev      CULHat4
   actCycle   028:00
   actStatus  alive
   autoReadReg 4_reqStatus
   event-on-change-reading .*:30
   expert     2_raw
   firmware   1.1
   model      HM-Sen-LI-O
   room       CUL_HM
   serialNr   OEQ2281259
   subType    senBright
Titel: Antw:DOIF schaltet einfache Schaltung nicht, Checkall schon...
Beitrag von: Ellert am 04 Juni 2018, 06:16:46
Was sagt Dir der Eventmonitor?
Titel: Antw:DOIF schaltet einfache Schaltung nicht, Checkall schon...
Beitrag von: ComputerZOO am 04 Juni 2018, 10:10:22
Moin,
ist das nicht der Klassiker, wo zwei Events nie gleichzeitig auftauchen können?

Probier mal das hier:
Zitat
([?Tageslicht_outdoor] eq "Nacht" and [LichtSensor:brightness] < 0.5) (
  set Hausnummernbeleuchtung on,
  set Fensterbeleuchtung on
)
DOELSEIF ([23:00]) (
  set Hausbeleuchtung on,
  set Fensterbeleuchtung off
)
DOELSEIF ([05:00]) (
  set Fensterbeleuchtung on,
  set Hausbeleuchtung off
)
DOELSEIF ([?Tageslicht_outdoor] eq "Tag" and [LichtSensor:brightness] > 1.0) (
  set Hausnummernbeleuchtung off,
  set Fensterbeleuchtung off,
  set Hausbeleuchtung off
)

Noch etwas:
Beim Helligkeitssensor hast du:
event-on-change-reading .*:30
Ich bin mir nicht sicher, ob das hier optimal ist.
Titel: Antw:DOIF schaltet einfache Schaltung nicht, Checkall schon...
Beitrag von: Per am 04 Juni 2018, 12:11:08
Zitat von: ComputerZOO am 04 Juni 2018, 10:10:22ist das nicht der Klassiker, wo zwei Events nie gleichzeitig auftauchen können?
Nein, da er Zustände und nicht Events abfragt.

Aber:
Zitat von: ComputerZOO am 04 Juni 2018, 10:10:22
Beim Helligkeitssensor hast du:
event-on-change-reading .*:30
würde ich auch erstmal deaktivieren.
Vorher im Eventmonitor schauen, on es überhaupt einen Event gab, ein Aktualisieren des Browsers zeigt die aktuellen Werte auch ohne Event an!
Titel: Antw:DOIF schaltet einfache Schaltung nicht, Checkall schon...
Beitrag von: misux am 04 Juni 2018, 12:36:14
Ach du Kacke...  :o

event-on-change-reading .*:30

Ich glaube damit mach ich mir selbst das Leben im Moment schwer... Werde das heute Abend testen...

Vielen Dank für den Tipp!
Titel: Antw:DOIF schaltet einfache Schaltung nicht, Checkall schon...
Beitrag von: misux am 04 Juni 2018, 21:46:29
Oh mann... da setzt man "unbewusst" irgendwo ein event-on-change .*:300 attr und schon läuft alles schief...

Ich entschuldige mich für blöde Fragen aber ich wusste ehrlich gesagt nicht warum das eine oder andere nicht mehr funktioniert...

Ich habe das event-on-change attr beim LichtSensor gesetzt und all meine DOIFS umgebastelt sodass sie den Lichtsensor betrachten und nicht meinen TAG/Nacht Dummy... Durch das reading hat aber der Lichtsensor nicht richtig funktioniert und auch meine DOIFS nicht. Bis ich das erstmal herausgefunden habe... ::) War ein Tipp vom Foren User ;)

Naja, das Reading ist gelöscht, wieder viel gelernt durch euch, meine DOIFS etwas gepimpt und nun rennt es wieder!

Vielen Dank für eure Hilfsbereitschaft und vor allem Geduld!