DOIF funktioniert nicht mehr.?

Begonnen von Thoffi1978, 13 Juli 2015, 21:50:33

Vorheriges Thema - Nächstes Thema

Thoffi1978

Hallo,
Mein DOIF funktioniert nicht mehr richtig.
Vielleicht sehe ich den Wald vor lauter Bäumen nicht,
Doch ich finde den Fehler nicht.

([{sunset("CIVIL",0,"17:00","21:00")}] and [Aussentemperatur:state] => 15) (set Jalo_Finnja_hinten:FILTER=pct>=80 pct 64)
DOELSEIF
([{sunset("CIVIL",0,"17:00","21:00")}] and [Aussentemperatur:state] < 15) (set Jalo_Finnja_hinten:FILTER=pct>=80 pct 0)

Anbei auch ein List
Internals:
   DEF        3146A4
   IODev      Teil_an_Fritzbox
   LASTInputDev Teil_an_Fritzbox
   MSGCNT     27
   NAME       Jalo_Finnja_hinten
   NR         46
   NTFY_ORDER 50-Jalo_Finnja_hinten
   STATE      Hoch
   TYPE       CUL_HM
   Teil_an_Fritzbox_MSGCNT 27
   Teil_an_Fritzbox_RAWMSG A0D24A4103146A4F110340601C800::-49.5:Teil_an_Fritzbox
   Teil_an_Fritzbox_RSSI -49.5
   Teil_an_Fritzbox_TIME 2015-07-13 11:00:04
   lastMsg    No:24 - t:10 s:3146A4 d:F11034 0601C800
   protLastRcv 2015-07-13 11:00:04
   protResnd  7 last_at:2015-07-13 08:31:13
   protSnd    27 last_at:2015-07-13 11:00:04
   protState  CMDs_done
   rssi_Teil_an_Fritzbox avg:-46.63 min:-49 max:-45 lst:-48 cnt:11
   rssi_at_Teil_an_Fritzbox avg:-47.2 min:-52 max:-44 lst:-49.5 cnt:27
   Readings:
     2015-07-13 11:00:00   CommandAccepted yes
     2015-01-30 14:01:14   D-firmware      2.3
     2015-01-30 14:01:14   D-serialNr      LEQ1025121
     2015-05-02 10:20:10   PairedTo        0xF11034
     2015-01-30 13:53:14   R-confBtnTime   permanent
     2015-01-30 14:01:29   R-driveDown     16.8 s
     2015-01-30 13:53:15   R-driveTurn     0.5 s
     2015-01-30 14:01:29   R-driveUp       18.4 s
     2015-01-30 13:53:14   R-intKeyVisib   invisib
     2015-01-30 13:53:14   R-localResDis   off
     2015-01-30 13:53:14   R-pairCentral   0xF11034
     2015-01-30 13:53:15   R-sign          off
     2015-01-30 13:53:15   R-statusInfoMinDly 2 s
     2015-01-30 13:53:15   R-statusInfoRandom 1 s
     2015-01-30 13:53:15   R-transmitTryMax 6
     2015-05-02 10:20:10   RegL_00:        02:01 0A:F1 0B:10 0C:34 15:FF 18:00 00:00
     2015-05-02 10:20:11   RegL_01:        08:00 09:00 0A:00 0B:00 0C:A8 0D:00 0E:B8 0F:05 10:00  30:06 57:24 00:00
     2015-07-13 11:00:04   deviceMsg       on (to Teil_an_Fritzbox)
     2015-07-13 11:00:04   level           100
     2015-01-30 13:53:42   levelMissed     desired:5
     2015-07-13 11:00:04   motor           stop:on
     2015-07-13 11:00:04   pct             100
     2015-05-02 08:56:44   powerOn         2015-05-02 08:56:44
     2015-07-13 11:00:04   recentStateType info
     2015-07-13 11:00:04   state           on
     2015-07-13 11:00:04   timedOn         off
   Helper:
     HM_CMDNR   36
     cSnd       11F110343146A40201C80000,11F110343146A40201C80000
     dlvlCmd    ++A011F110343146A40201C80000
     mId        006A
     rxType     1
     Dir:
       cur        stop
       rct        up
     Io:
       newChn     +3146A4,00,00,00
       nextSend   1436778004.7198
       prefIO
       rxt        0
       vccu
       p:
         3146A4
         00
         00
         00
     Mrssi:
       mNo        24
       Io:
         Teil_an_Fritzbox -47.5
     Prt:
       bErr       0
       sProc      0
       Rspwait:
     Q:
       qReqConf
       qReqStat
     Role:
       chn        1
       dev        1
       prs        1
     Rpt:
       IO         Teil_an_Fritzbox
       flg        A
       ts         1436778004.63318
       ack:
         HASH(0x112e1c8)
         248002F110343146A400
     Rssi:
       Teil_an_fritzbox:
         avg        -46.6363636363636
         cnt        11
         lst        -48
         max        -45
         min        -49
       At_teil_an_fritzbox:
         avg        -47.2037037037037
         cnt        27
         lst        -49.5
         max        -44
         min        -52
Attributes:
   IODev      Teil_an_Fritzbox
   autoReadReg 4_reqStatus
   eventMap   off:Runter on:Hoch
   expert     2_full
   firmware   2.3
   group      Jalousie_hinten,Jalousien
   model      HM-LC-Bl1PBU-FM
   peerIDs    00000000,
   room       Finnja,Jalousien
   serialNr   LEQ1025121
   set        Rollo_Gruppe
   subType    blindActuator
   userattr   set set_map structexclude
   webCmd     statusRequest:toggle:on:off:up:down:stop /code]


Readings:
Readings
cmd_event
timer_1
2015-07-10 21:00:00
cmd_nr
1
2015-07-10 21:00:00
e_Aussentemperatur_state
16
2015-07-13 21:31:20
state
cmd_1
2015-07-10 21:00:00
timer_1_c1
14.07.2015 21:00:00
2015-07-13 21:00:00
timer_2_c2
14.07.2015 21:00:00
2015-07-13 21:00:00/[code]

Damian

Zitat von: Thoffi1978 am 13 Juli 2015, 21:50:33
Hallo,
Mein DOIF funktioniert nicht mehr richtig.
Vielleicht sehe ich den Wald vor lauter Bäumen nicht,
Doch ich finde den Fehler nicht.

([{sunset("CIVIL",0,"17:00","21:00")}] and [Aussentemperatur:state] => 15) (set Jalo_Finnja_hinten:FILTER=pct>=80 pct 64)
DOELSEIF
([{sunset("CIVIL",0,"17:00","21:00")}] and [Aussentemperatur:state] < 15) (set Jalo_Finnja_hinten:FILTER=pct>=80 pct 0)

Anbei auch ein List
Internals:
   DEF        3146A4
   IODev      Teil_an_Fritzbox
   LASTInputDev Teil_an_Fritzbox
   MSGCNT     27
   NAME       Jalo_Finnja_hinten
   NR         46
   NTFY_ORDER 50-Jalo_Finnja_hinten
   STATE      Hoch
   TYPE       CUL_HM
   Teil_an_Fritzbox_MSGCNT 27
   Teil_an_Fritzbox_RAWMSG A0D24A4103146A4F110340601C800::-49.5:Teil_an_Fritzbox
   Teil_an_Fritzbox_RSSI -49.5
   Teil_an_Fritzbox_TIME 2015-07-13 11:00:04
   lastMsg    No:24 - t:10 s:3146A4 d:F11034 0601C800
   protLastRcv 2015-07-13 11:00:04
   protResnd  7 last_at:2015-07-13 08:31:13
   protSnd    27 last_at:2015-07-13 11:00:04
   protState  CMDs_done
   rssi_Teil_an_Fritzbox avg:-46.63 min:-49 max:-45 lst:-48 cnt:11
   rssi_at_Teil_an_Fritzbox avg:-47.2 min:-52 max:-44 lst:-49.5 cnt:27
   Readings:
     2015-07-13 11:00:00   CommandAccepted yes
     2015-01-30 14:01:14   D-firmware      2.3
     2015-01-30 14:01:14   D-serialNr      LEQ1025121
     2015-05-02 10:20:10   PairedTo        0xF11034
     2015-01-30 13:53:14   R-confBtnTime   permanent
     2015-01-30 14:01:29   R-driveDown     16.8 s
     2015-01-30 13:53:15   R-driveTurn     0.5 s
     2015-01-30 14:01:29   R-driveUp       18.4 s
     2015-01-30 13:53:14   R-intKeyVisib   invisib
     2015-01-30 13:53:14   R-localResDis   off
     2015-01-30 13:53:14   R-pairCentral   0xF11034
     2015-01-30 13:53:15   R-sign          off
     2015-01-30 13:53:15   R-statusInfoMinDly 2 s
     2015-01-30 13:53:15   R-statusInfoRandom 1 s
     2015-01-30 13:53:15   R-transmitTryMax 6
     2015-05-02 10:20:10   RegL_00:        02:01 0A:F1 0B:10 0C:34 15:FF 18:00 00:00
     2015-05-02 10:20:11   RegL_01:        08:00 09:00 0A:00 0B:00 0C:A8 0D:00 0E:B8 0F:05 10:00  30:06 57:24 00:00
     2015-07-13 11:00:04   deviceMsg       on (to Teil_an_Fritzbox)
     2015-07-13 11:00:04   level           100
     2015-01-30 13:53:42   levelMissed     desired:5
     2015-07-13 11:00:04   motor           stop:on
     2015-07-13 11:00:04   pct             100
     2015-05-02 08:56:44   powerOn         2015-05-02 08:56:44
     2015-07-13 11:00:04   recentStateType info
     2015-07-13 11:00:04   state           on
     2015-07-13 11:00:04   timedOn         off
   Helper:
     HM_CMDNR   36
     cSnd       11F110343146A40201C80000,11F110343146A40201C80000
     dlvlCmd    ++A011F110343146A40201C80000
     mId        006A
     rxType     1
     Dir:
       cur        stop
       rct        up
     Io:
       newChn     +3146A4,00,00,00
       nextSend   1436778004.7198
       prefIO
       rxt        0
       vccu
       p:
         3146A4
         00
         00
         00
     Mrssi:
       mNo        24
       Io:
         Teil_an_Fritzbox -47.5
     Prt:
       bErr       0
       sProc      0
       Rspwait:
     Q:
       qReqConf
       qReqStat
     Role:
       chn        1
       dev        1
       prs        1
     Rpt:
       IO         Teil_an_Fritzbox
       flg        A
       ts         1436778004.63318
       ack:
         HASH(0x112e1c8)
         248002F110343146A400
     Rssi:
       Teil_an_fritzbox:
         avg        -46.6363636363636
         cnt        11
         lst        -48
         max        -45
         min        -49
       At_teil_an_fritzbox:
         avg        -47.2037037037037
         cnt        27
         lst        -49.5
         max        -44
         min        -52
Attributes:
   IODev      Teil_an_Fritzbox
   autoReadReg 4_reqStatus
   eventMap   off:Runter on:Hoch
   expert     2_full
   firmware   2.3
   group      Jalousie_hinten,Jalousien
   model      HM-LC-Bl1PBU-FM
   peerIDs    00000000,
   room       Finnja,Jalousien
   serialNr   LEQ1025121
   set        Rollo_Gruppe
   subType    blindActuator
   userattr   set set_map structexclude
   webCmd     statusRequest:toggle:on:off:up:down:stop /code]


Readings:
Readings
cmd_event
timer_1
2015-07-10 21:00:00
cmd_nr
1
2015-07-10 21:00:00
e_Aussentemperatur_state
16
2015-07-13 21:31:20
state
cmd_1
2015-07-10 21:00:00
timer_1_c1
14.07.2015 21:00:00
2015-07-13 21:00:00
timer_2_c2
14.07.2015 21:00:00
2015-07-13 21:00:00/[code]


größer gleich in Perl ist >= und nicht =>

Gruß

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

Thoffi1978

Hallo,

Ich habe nun einmal das = geändert. Trotzdem fährt die Jalousie nicht runter.
Wenn ich etwas in der DEF ändere und der DOIF auf initialize "geht", dann funktioniert das ganze. Einen Tag später dann leider nicht mehr.
Kann es noch einen Fehler geben?

Ralli

Weil das DOIF noch den gleichen Status (state) hat?!

Sinnvoll ist ein List vom DOIF, nicht vom Aktor.
Gruß,
Ralli

Proxmox 8.4 Cluster mit HP ED800G2i7, Intel NUC11TNHi7+NUC7i5BNH, virtualisiertes fhem 6.4 dev, virtualisierte RaspberryMatic (3.83.6.20250705) mit HB-RF-ETH 1.3.0 / RPI-RF-MOD, HM-LAN-GW (1.4.1) und HMW-GW, FRITZBOX 7490 (07.59), FBDECT, Siri und Alexa

Thoffi1978

Hallo.
Mmh. Ja, aber warum  ???
Anbei die list vom DOIF
Internals:
   DEF        ([{sunset("CIVIL",0,"17:00","21:00")}] and [Aussentemperatur:state] >= 15) (set Jalo_Finnja_hinten:FILTER=pct>=80 pct 64)
DOELSEIF
([{sunset("CIVIL",0,"17:00","21:00")}] and [Aussentemperatur:state] < 15) (set Jalo_Finnja_hinten:FILTER=pct>=80 pct 0)
   NAME       di_Finnja_hinten_runter
   NR         197
   NTFY_ORDER 50-di_Finnja_hinten_runter
   STATE      cmd_1
   TYPE       DOIF
   Readings:
     2015-07-14 21:00:00   cmd_event       timer_1
     2015-07-14 21:00:00   cmd_nr          1
     2015-07-16 13:14:41   e_Aussentemperatur_state 18
     2015-07-14 21:00:00   state           cmd_1
     2015-07-16 07:14:42   timer_1_c1      16.07.2015 21:00:00
     2015-07-16 07:14:42   timer_2_c2      16.07.2015 21:00:00
   Condition:
     0          DOIF_time_once($hash->{timer}{0},$wday,"") and ReadingValDoIf('Aussentemperatur','state','') >= 15
     1          DOIF_time_once($hash->{timer}{1},$wday,"") and ReadingValDoIf('Aussentemperatur','state','') < 15
   Days:
   Devices:
     0           Aussentemperatur
     1           Aussentemperatur
     all         Aussentemperatur
   Do:
     0          set Jalo_Finnja_hinten:FILTER=pct>=80 pct 64
     1          set Jalo_Finnja_hinten:FILTER=pct>=80 pct 0
   Helper:
     last_timer 2
     sleeptimer -1
   Internals:
   Itimer:
   Readings:
     0           Aussentemperatur:state
     1           Aussentemperatur:state
     all         Aussentemperatur:state
   Realtime:
     0          21:00:00
     1          21:00:00
   State:
   Time:
     0          {sunset("CIVIL",0,"17:00","21:00")}
     1          {sunset("CIVIL",0,"17:00","21:00")}
   Timecond:
     0          0
     1          1
   Timer:
     0          0
     1          0
   Timerfunc:
   Timers:
     0           0
     1           1
   Trigger:
Attributes:
   group      Jalousie_hinten
   room       Finnja,Jalousien

Ralli

#5
Zitat von: Ralli am 16 Juli 2015, 08:10:45
Weil das DOIF noch den gleichen Status (state) hat?!

... weil die Aussentemperatur vielleicht nicht unter 15 Grad C sinkt?
Gruß,
Ralli

Proxmox 8.4 Cluster mit HP ED800G2i7, Intel NUC11TNHi7+NUC7i5BNH, virtualisiertes fhem 6.4 dev, virtualisierte RaspberryMatic (3.83.6.20250705) mit HB-RF-ETH 1.3.0 / RPI-RF-MOD, HM-LAN-GW (1.4.1) und HMW-GW, FRITZBOX 7490 (07.59), FBDECT, Siri und Alexa

Thoffi1978

Ich habe den DOIF doch aber gesagt,
Bei über 15C soll es aus 64% gehen und bei unter 15C zu.
Die Jalousie bewegt sich aber leider gar nicht.

Virsacer

do always?

Kommt mir das gerade nur so vor, oder ist zur Zeit in jedem 2. DOIF Thread das Problem?

Thoffi1978

Hallo,

Ja, es sind gerade viele DOIF Fragen.
Ich hatte mich ein wenig abschrecken lassen
ZitatBei der Angabe von zyklisch sendenden Sensoren (Temperatur, Feuchtigkeit, Helligkeit usw.) wie z. B.:

define di_heating DOIF ([sens:temperature] < 20) (set heating on)

ist die Nutzung des Attributes do always nicht sinnvoll, da das entsprechende Kommando hier: "set heating on" jedes mal ausgeführt wird, wenn der Temperatursensor in regelmäßigen Abständen eine Temperatur unter 20 Grad sendet.

Mit do always klappt es jetzt.

Vielen lieben Dank

Damian

Zitat von: Thoffi1978 am 17 Juli 2015, 07:15:19
Hallo,

Ja, es sind gerade viele DOIF Fragen.
Ich hatte mich ein wenig abschrecken lassen
Mit do always klappt es jetzt.

Vielen lieben Dank

Diese Problematik schein in der letzten Zeit häufiger vorzukommen, obwohl es das Modul schon seit fast einem Jahr gibt.

do always ist hier, wie du schon erkannt hast, ungünstig. Die Lösung wird auch bei dir ein DOELSE-Fall ohne Ausführungsteil am Ende sein. Siehe Erklärung von Brockmann:

http://forum.fhem.de/index.php/topic,38930.msg311170.html#msg311170

Gruß

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