Doif zum Schalten nutzen. Mit Logo Jalousien steuern

Begonnen von Wasserwerk33, 24 Juli 2018, 19:22:58

Vorheriges Thema - Nächstes Thema

Wasserwerk33

Hi Leute.

Also nach dem ich dieses entfernt habe funktonierte es problem los. Jedes mal wenn wir den schalter betätigt hatten und die umstände passten führen sie runter. Also lag es wohl dran. Dafür erstmal danke

Zitat von: Otto123 am 05 August 2018, 21:16:00
Das hier
event-on-change-reading 1
ist Blödsinn! Aber nicht das Problem  ;D
Bedeutung:

Wollte mir nun da ich auch ein Lichtsensor im Wohnzimmer habe dieses mit einbauen. Leider schalten sie nun nicht mehr.
nternals:
   DEF        ([?7:30-13:00] and [Sonnenschutz_UG:"on"] and [ZWave_SENSOR_NOTIFICATION_3:luminance:d] > 80) (set Kueche_runter Trigger) DOELSEIF ([14:00] or [ZWave_SENSOR_NOTIFICATION_3:luminance:d] < 71) (set Kueche_hoch Trigger)
   MODEL      FHEM
   NAME       Kueche_Sonnenschutz
   NR         110
   NTFY_ORDER 50-Kueche_Sonnenschutz
   STATE      cmd_1
   TYPE       DOIF
   READINGS:
     2018-08-21 09:58:19   Device          ZWave_SENSOR_NOTIFICATION_3
     2018-08-21 09:46:58   cmd             1
     2018-08-21 09:46:58   cmd_count       1
     2018-08-21 09:46:58   cmd_event       set_cmd_1
     2018-08-21 09:46:58   cmd_nr          1
     2018-08-21 09:58:19   e_ZWave_SENSOR_NOTIFICATION_3_luminance 87 %
     2018-08-21 08:34:41   mode            enabled
     2018-08-21 09:46:58   state           cmd_1
     2018-08-21 08:34:41   timer_01_c01    22.08.2018 07:30:00
     2018-08-21 08:34:41   timer_02_c01    21.08.2018 13:00:00
     2018-08-21 08:34:41   timer_03_c02    21.08.2018 14:00:00
   Regex:
   attr:
     cmdState:
     repeatsame:
       1
       1
     wait:
     waitdel:
   condition:
     0          DOIF_time($hash,0,1,$wday,$hms) and EventDoIf('Sonnenschutz_UG',$hash,'on',1) and ReadingValDoIf($hash,'ZWave_SENSOR_NOTIFICATION_3','luminance','','d') > 80
     1          DOIF_time_once($hash,2,$wday) or ReadingValDoIf($hash,'ZWave_SENSOR_NOTIFICATION_3','luminance','','d') < 71
   days:
   devices:
     0           Sonnenschutz_UG ZWave_SENSOR_NOTIFICATION_3
     1           ZWave_SENSOR_NOTIFICATION_3
     all         Sonnenschutz_UG ZWave_SENSOR_NOTIFICATION_3
   do:
     0:
       0          set Kueche_runter Trigger
     1:
       0          set Kueche_hoch Trigger
     2:
   helper:
     event      temperature: 22.0 C
     globalinit 1
     last_timer 3
     sleeptimer -1
     timerdev   ZWave_SENSOR_NOTIFICATION_3
     timerevent luminance: 60 %
     triggerDev ZWave_SENSOR_NOTIFICATION_3
     DOIF_eventas:
       cmd_nr: 1
       cmd: 1
       cmd_event: set_cmd_1
       state: cmd_1
     timerevents:
       luminance: 60 %
     timereventsState:
       luminance: 60 %
     triggerEvents:
       temperature: 22.0 C
     triggerEventsState:
       temperature: 22.0 C
   internals:
   interval:
     0          -1
     1          0
   intervalfunc:
   itimer:
   localtime:
     0          1534915800
     1          1534849200
     2          1534852800
   readings:
     0           ZWave_SENSOR_NOTIFICATION_3:luminance
     1           ZWave_SENSOR_NOTIFICATION_3:luminance
     all         ZWave_SENSOR_NOTIFICATION_3:luminance
   realtime:
     0          07:30:00
     1          13:00:00
     2          14:00:00
   time:
     0          7:30
     1          13:00:00
     2          14:00:00
   timeCond:
     0          0
     1          0
     2          1
   timer:
     0          0
     1          0
     2          0
   timers:
     1           2
   trigger:
     all         Sonnenschutz_UG
   triggertime:
     1534849200:
       localtime  1534849200
       hash:
     1534852800:
       localtime  1534852800
       hash:
     1534915800:
       localtime  1534915800
       hash:
   uiState:
   uiTable:
Attributes:
   do         always
   repeatsame 1:1
   room       Sonnenschutz


Oder ist es besser den Schalter und den Lichtsensor in eine Structur einzubauen. Da das Doif nicht so viele uns berücksichtigen kann??

Otto123

#16
Moin,

also spontan würde ich sagen: Wozu?    do         always
   repeatsame 1:1

Das DOIF sieht ansonsten gut aus und sollt eigentlich so funktionieren. Nimm die beiden mal raus. Oder welchen Grund hast Du dafür gesehen?

Aber nochmal die Bemerkung zum Event: das hier [Sonnenschutz_UG:"on"] schaltet nur in dem Moment wo Du diesen Schalter umlegst! Wenn da jetzt die Helligkeit nicht reicht schaltet später nichts.

Ich vermute eher, Du willst dort auch den Status abfragen, dann mach es bitte so: [Sonnenschutz_UG] eq "on"

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Wasserwerk33

#17
Hi
Also das ist ein schalter der dauerhaft auf on oder off steht. Kein trigger schalter.
[Sonnenschutz_UG] eq "on"

Habe ich eingebaut da die Schaltung der Logo als Trigger hinterlegt ist. Und sie die erstenmal ständig am schalten war wo die zustände passten.
repeatsame 1:1

Schalter zum Schalten über die Logo und dann fährt die Jalousie.

defmod Esszimmer_runter S7_DWrite db 0 7.6
attr Esszimmer_runter IODev myLogo
attr Esszimmer_runter event-on-update-reading 1
attr Esszimmer_runter room Logo,Sonnenschutz
attr Esszimmer_runter verbose 0
attr Esszimmer_runter webCmd TRIGGER


Der Schalter der der Logo sagt die Jalousien dürfen Sonnenschutz machen 
defmod Sonnenschutz_UG S7_DWrite db 0 7.0
attr Sonnenschutz_UG IODev myLogo
attr Sonnenschutz_UG event-on-update-reading 1
attr Sonnenschutz_UG room Logo,Sonnenschutz
attr Sonnenschutz_UG verbose 0
attr Sonnenschutz_UG webCmd on:off


Habe
   do         always
   repeatsame 1:1

entfernt und versucht den Lichtsensor zu veräppeln hat auch geklappt aber die Jalousie führ trotzdem nicht runter. Und löste auch nichts aus also auch kein event


Fehler gefunden.
Es lag an der Abfrage des Schalters.
Meine schreibweise war falsch.
Werde es morgen nochmal versuchen aber schaltet nun.

danke schon mal

Otto123

Du kennst noch meine Bemerkung zu dem Thema? ::)
attr Sonnenschutz_UG event-on-update-reading 1
Auszug aus der Doku
Zitatevent-on-change-reading
Dieses Attribut enthält eine durch Kommata getrennte Liste von "readings". Wenn gesetzt, erzeugen nur Veränderungen der gelisteten "readings" ein Ereignis. Wenn die aktualiserten Werte der gelisteten "readings" identisch sind, wird kein Ereignis generiert.
Wenn hinter dem Namen eines "readings" eine :Schwelle angegeben ist, wird das Event nur getriggert wenn die Änderung grösser als diese Schwelle ist.
Die unterschiedlichen Bedeutungen von event-on-update-reading und event-on-change-reading sind folgende:
Wenn beide Attribute nicht gesetzt sind erzeugt jede Aktualisierung eines jeden "readings" eines Gerätes ein Ereignis.
Wenn eines der Attribute gesetzt ist, erzeugen nur Updates oder änderungen von "readings" die in einem der Attribute gesetzt sind ein Ereignis.
Wenn ein "reading" in event-on-update-reading aufgeführt ist, erzeugt eine Aktualisierung ein Ereignis unabhängig ob das "reading" auch in event-on-change-reading aufgelistet ist.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz