[erledigt] Benötige euer Wissen bei einem einfachen DOIF - Danke

Begonnen von Helmi55, 07 September 2016, 18:14:36

Vorheriges Thema - Nächstes Thema

Helmi55

Servus
das ist ein HomeMatic Tür/Fenstersensor. Nein event-on-change reading ist nicht gesetzt (hab es mit probiert - dann geht dar nichts)
Hier ein List vom Sensor
Internals:
   CHANGED
   DEF        4ECD11
   HMUSB_MSGCNT 4
   HMUSB_RAWMSG E4ECD11,0000,10B97EA9,FF,FFB7,19A6414ECD11220355010D00
   HMUSB_RSSI -73
   HMUSB_TIME 2016-09-09 18:42:57
   IODev      HMUSB
   LASTInputDev HMUSB
   MSGCNT     4
   NAME       Einfahrt
   NOTIFYDEV  global
   NR         372
   STATE      Zu
   TYPE       CUL_HM
   lastMsg    No:19 - t:41 s:4ECD11 d:220355 010D00
   protLastRcv 2016-09-09 18:42:56
   protSnd    4 last_at:2016-09-09 18:42:57
   protState  CMDs_done
   rssi_at_HMUSB avg:-72 min:-73 max:-71 lst:-73 cnt:4
   Readings:
     2016-09-09 18:41:05   Activity        alive
     2016-09-03 12:43:07   CommandAccepted yes
     2016-09-03 12:44:58   D-firmware      2.4
     2016-09-03 12:44:58   D-serialNr      NEQ0757436
     2016-09-04 12:37:22   PairedTo        0x220355
     2016-09-04 12:37:22   R-cyclicInfoMsg off
     2016-09-04 12:37:23   R-eventDlyTime  0 s
     2016-09-04 12:37:22   R-pairCentral   0x220355
     2016-09-04 12:37:22   R-sabotageMsg   on
     2016-09-04 12:37:23   R-sign          off
     2016-09-04 12:37:22   RegL_00.        02:01 09:00 0A:22 0B:03 0C:55 10:01 14:06 00:00
     2016-09-04 12:37:23   RegL_01.        08:00 20:60 21:00 22:64 30:06 00:00
     2016-09-09 06:59:01   alive           yes
     2016-09-09 18:42:57   battery         ok
     2016-09-09 18:42:57   contact         closed (to HMUSB)
     2016-09-08 23:59:48   power-daily     0
     2016-09-08 23:59:48   power-daily-last 0
     2016-09-09 18:01:09   power-hourly    0
     2016-09-09 17:59:52   power-hourly-last 0.0
     2016-09-04 23:59:50   power-weekly    0
     2016-09-04 23:59:50   power-weekly-last 0
     2016-09-09 06:59:01   recentStateType info
     2016-09-09 06:59:01   sabotageError   on
     2016-09-09 18:42:57   state           closed
     2016-09-09 18:42:57   trigDst_220355  noConfig
     2016-09-09 18:42:57   trigger_cnt     13
   Helper:
     HM_CMDNR   25
     mId        00B1
     rxType     28
     Expert:
       def        1
       det        0
       raw        1
       tpl        0
     Io:
       newChn     +4ECD11,00,00,00
       nextSend   1473439377.05833
       prefIO
       rxt        2
       vccu
       p:
         4ECD11
         00
         00
         00
     Mrssi:
       mNo        19
       Io:
         HMUSB      -71
     Prt:
       bErr       0
       sProc      0
       sleeping   0
       Rspwait:
     Q:
       qReqConf
       qReqStat
     Role:
       chn        1
       dev        1
     Rpt:
       IO         HMUSB
       flg        A
       ts         1473439376.96281
       ack:
         HASH(0x270a878)
         1980022203554ECD110101C800
     Rssi:
       At_hmusb:
         avg        -72
         cnt        4
         lst        -73
         max        -71
         min        -73
Attributes:
   IODev      HMUSB
   actCycle   028:00
   actStatus  alive
   autoReadReg 4_reqStatus
   devStateIcon Offen:fts_window_2w_open_lr@red Zu:fts_window_2w@green
   eventMap   open:Offen closed:Zu
   expert     2_raw
   firmware   2.4
   model      HM-SEC-SC-2
   peerIDs    00000000,
   room       Einfahrt,Favoriten
   serialNr   NEQ0757436
   subType    threeStateSensor


Danke
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

KernSani

Mit welchen Events hast du es denn probiert? Mit den originalen oder den gemappten? Bin mir nicht ganz sicher, welche bei event-on-change-reading ziehen...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Helmi55

Servus
so habe jetzt einiges probiert - ohne Erfolg.
Wenn ich auf die Einfahrt (HM Sensor) ein event-on-change setzte (egal ob Offen oder open) funktioniert das DOIF überhaupt nicht???
Habe auch das ? bei Einfahrt rausgenommen - alles ohne Erfolg.
Ist meine Anforderung so hochgesteckt???

Hier noch ein List vom LogDOIF von Ellert
Internals:
   DEF        ([di_Test_3:""] or [Daemmerung:"sr|ss"] or [Einfahrt:""])    ({Log 1, "$SELF --> Device: $DEVICE, Events: $EVENTS"})
   NAME       LogDOIF
   NR         379
   NTFY_ORDER 50-LogDOIF
   STATE      disabled
   TYPE       DOIF
   Readings:
     2016-09-10 11:26:19   Device          di_Test_3
     2016-09-10 11:26:19   cmd             1
     2016-09-10 11:26:19   cmd_event       di_Test_3
     2016-09-10 11:26:19   cmd_nr          1
     2016-09-10 11:08:50   e_Daemmerung_events azimuth: 145.53,elevation: 40.35,twilight: 100,twilight_weather: 100,compasspoint: southeast
     2016-09-10 11:06:34   e_Einfahrt_events battery: ok,contact: Zu (to HMUSB),Zu,trigDst_220355: noConfig,trigger_cnt: 41
     2016-09-10 11:26:19   e_di_Test_3_events cmd: 0,initialized
     2016-09-10 11:31:00   mode            disabled
     2016-09-10 11:31:00   state           disabled
   Condition:
     0          EventDoIf('di_Test_3',$hash,'',1) or EventDoIf('Daemmerung',$hash,'sr|ss',1) or EventDoIf('Einfahrt',$hash,'',1)
   Devices:
     0           di_Test_3 Daemmerung Einfahrt
     all         di_Test_3 Daemmerung Einfahrt
   Do:
     0:
       0          {Log 1, "LogDOIF --> Device: $DEVICE, Events: $EVENTS"}
   Helper:
     globalinit 1
     last_timer 0
     sleeptimer -1
   Itimer:
   Trigger:
     all         di_Test_3 Daemmerung Einfahrt
Attributes:
   do         always


Schön langsam glaube ich, dass es funktioniert wenn wir abends nach Hause kommen wird sich das Licht einschalten. Aber wenn meine Frau
in der Früh wegfährt, wird sie das Licht händisch abdrehen müssen.... :P ;D :(


Danke
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Helmi55

Habe jetzt auch, nachdem ich die CommandRef zum gefühlten 100x gelesen habe, das do always weggenommen und am Schluss noch ein DOELSE gesetzt - auch ohne Erfolg
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Helmi55

#19
Jetzt habe ich noch Versuche mit den 2 einzelDOIFs gestartet.
Beim ON habe ich ein Wait 10 eingebaut und beim OFF habe ich do always rausgenommen.
Dachte dass dadurch nicht wieder auf das ON schlagend bzw schaltend wird - Nö

Auch die attr addStateEvent und checkReadingsEvent halfen nicht weiter (zumindest bei mir :'()

Gruß
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Helmi55

LÖSUNG:
ich glaube ich habe geschafft - nur kurz getestet. Langzeittest folgt:
(([Einfahrt] eq "Offen") and ([?GartenLicht] eq "off") and [[Daemmerung:sr]-[Daemmerung:ss]]) (set GartenLicht on-for-timer 60) DOELSEIF (([Einfahrt] eq "Offen") and ([?GartenLicht] eq "on") and [[Daemmerung:sr]-[Daemmerung:ss]]) (set GartenLicht off) DOELSE
attr = wait 0:10

DAs wait dürfte die Lösung sein

Schönes Wochenende noch hoffe das wars

LG
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

Damian

Zitat von: Helmi55 am 10 September 2016, 16:21:36
LÖSUNG:
ich glaube ich habe geschafft - nur kurz getestet. Langzeittest folgt:
(([Einfahrt] eq "Offen") and ([?GartenLicht] eq "off") and [[Daemmerung:sr]-[Daemmerung:ss]]) (set GartenLicht on-for-timer 60) DOELSEIF (([Einfahrt] eq "Offen") and ([?GartenLicht] eq "on") and [[Daemmerung:sr]-[Daemmerung:ss]]) (set GartenLicht off) DOELSE
attr = wait 0:10

DAs wait dürfte die Lösung sein

Schönes Wochenende noch hoffe das wars

LG
Helmut

Wenn Dämmerung ein Twilight-Modul ist, dann solltest das Attribut checkReadingEvent im DOIF-Modul setzen, sonst werden die Timer bei jedem Trigger des Twilight-Moduls alle fünf Minuten aktualisiert, siehe http://fhem.de/commandref_DE.html#DOIF_checkReadingEvent

Gruß

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

Helmi55

Hallo an ALLE Helfer - es funktioniert so:
(([Einfahrt] eq "Offen") and ([?GartenLicht] eq "off") and [[Daemmerung:ss]-[Daemmerung:sr]]) (set GartenLicht on-for-timer 60, set GaragenLicht on-for-timer 60) DOELSEIF (([Einfahrt] eq "Offen") and ([?GartenLicht] eq "on") and [[Daemmerung:ss]-[Daemmerung:sr]]) (set GartenLicht off) DOELSE
mit attr check-reading-event und wait 0:10
Danke an alle - schönen Abend
LG
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/