[gelöst]Fragen zum Verständnis

Begonnen von matze1999, 23 November 2021, 18:01:05

Vorheriges Thema - Nächstes Thema

matze1999

Hallo,

1. ich habe ein paar DOIF mit "on-till" angelegt, kann es sein, das dadurch at erstellt werden?

2. im Log taucht so etwas auf:

Error: >AussendekoAn< has no TYPE, but following keys: >READINGS<

ich hab aber gar kein Device o.ä. mit der Bezeichnung AussendekoAn, was kann das sein?

3. Und noch was ich hab solche DOIF, leider schalten diese regelmäßig NICHT, z.B. Sonntag  und heute (Di) nicht aber dafür Samstag und gestern (Montag), muss ich Mo, Di, .... Sa, So usw. vorher definieren oder gibt es diese schon?
Internals:
   DEF        ([06:00|Mo Di Mi Do Fr])
(set MQTT2_DVES_CCBC8D_CH2 on,
set MQTT2_DVES_CCBC8D_CH4 on)
   FUUID      618baf6f-f33f-214e-30c8-582ef139e0234f4f
   MODEL      FHEM
   NAME       WohnzimmerEin.di
   NOTIFYDEV  global
   NR         216
   NTFY_ORDER 50-WohnzimmerEin.di
   STATE      cmd_1
   TYPE       DOIF
   VERSION    24905 2021-09-01 18:35:54
   READINGS:
     2021-11-22 06:00:00   cmd             1
     2021-11-22 06:00:00   cmd_event       timer_1
     2021-11-22 06:00:00   cmd_nr          1
     2021-11-20 17:27:36   mode            enabled
     2021-11-22 06:00:00   state           cmd_1
     2021-11-23 06:00:00   timer_01_c01    24.11.2021 06:00:00|MoDiMiDoFr
   Regex:
     accu:
     collect:
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          ::DOIF_time_once($hash,0,$wday,"MoDiMiDoFr")
   days:
     0          MoDiMiDoFr
   devices:
   do:
     0:
       0          set MQTT2_DVES_CCBC8D_CH2 on,  set MQTT2_DVES_CCBC8D_CH4 on
     1:
   helper:
     DEVFILTER  ^global$
     NOTIFYDEV  global
     event      timer_1
     globalinit 1
     last_timer 1
     sleeptimer -1
     timerdev   
     timerevent timer_1
     triggerDev
     timerevents:
       timer_1
     timereventsState:
       timer_1
     triggerEvents:
       timer_1
     triggerEventsState:
       timer_1
   interval:
   intervalfunc:
   localtime:
     0          1637730000
   perlblock:
   realtime:
     0          06:00:00
   time:
     0          06:00:00
   timeCond:
     0          0
   timer:
     0          0
   timers:
     0           0
   triggertime:
     1637730000:
       localtime  1637730000
       hash:
   uiState:
   uiTable:
Attributes:
   alias      WohnzimmerEin.di
   room       nt+di


und

Internals:
   DEF        ([07:00|Sa So])
(set MQTT2_DVES_CCBC8D_CH2 on,
set MQTT2_DVES_CCBC8D_CH4 on)
   FUUID      618e0d4c-f33f-214e-6668-deff343612d0bdab
   MODEL      FHEM
   NAME       WohnzimmerEinWE.di
   NOTIFYDEV  global
   NR         221
   NTFY_ORDER 50-WohnzimmerEinWE.di
   STATE      cmd_2
   TYPE       DOIF
   VERSION    24905 2021-09-01 18:35:54
   READINGS:
     2021-11-21 09:42:06   cmd             2
     2021-11-21 09:42:06   cmd_event       WohnzimmerEinWE.di
     2021-11-21 09:42:06   cmd_nr          2
     2021-11-12 07:45:11   mode            enabled
     2021-11-21 09:42:06   state           cmd_2
     2021-11-23 07:00:00   timer_01_c01    24.11.2021 07:00:00|SaSo
   Regex:
     accu:
     collect:
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          ::DOIF_time_once($hash,0,$wday,"SaSo")
   days:
     0          SaSo
   devices:
   do:
     0:
       0          set MQTT2_DVES_CCBC8D_CH2 on,  set MQTT2_DVES_CCBC8D_CH4 on
     1:
   helper:
     DEVFILTER  ^global$
     NOTIFYDEV  global
     event      timer_1
     globalinit 1
     last_timer 1
     sleeptimer -1
     timerdev   
     timerevent timer_1
     timerevents
     timereventsState
     triggerDev
   interval:
   intervalfunc:
   localtime:
     0          1637733600
   perlblock:
   realtime:
     0          07:00:00
   time:
     0          07:00:00
   timeCond:
     0          0
   timer:
     0          0
   timers:
     0           0
   triggertime:
     1637733600:
       localtime  1637733600
       hash:Internals:
   DEF        ([07:00|Sa So])
(set MQTT2_DVES_CCBC8D_CH2 on,
set MQTT2_DVES_CCBC8D_CH4 on)
   FUUID      618e0d4c-f33f-214e-6668-deff343612d0bdab
   MODEL      FHEM
   NAME       WohnzimmerEinWE.di
   NOTIFYDEV  global
   NR         221
   NTFY_ORDER 50-WohnzimmerEinWE.di
   STATE      cmd_2
   TYPE       DOIF
   VERSION    24905 2021-09-01 18:35:54
   READINGS:
     2021-11-21 09:42:06   cmd             2
     2021-11-21 09:42:06   cmd_event       WohnzimmerEinWE.di
     2021-11-21 09:42:06   cmd_nr          2
     2021-11-12 07:45:11   mode            enabled
     2021-11-21 09:42:06   state           cmd_2
     2021-11-23 07:00:00   timer_01_c01    24.11.2021 07:00:00|SaSo
   Regex:
     accu:
     collect:
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          ::DOIF_time_once($hash,0,$wday,"SaSo")
   days:
     0          SaSo
   devices:
   do:
     0:
       0          set MQTT2_DVES_CCBC8D_CH2 on,  set MQTT2_DVES_CCBC8D_CH4 on
     1:
   helper:
     DEVFILTER  ^global$
     NOTIFYDEV  global
     event      timer_1
     globalinit 1
     last_timer 1
     sleeptimer -1
     timerdev   
     timerevent timer_1
     timerevents
     timereventsState
     triggerDev
   interval:
   intervalfunc:
   localtime:
     0          1637733600
   perlblock:
   realtime:
     0          07:00:00
   time:
     0          07:00:00
   timeCond:
     0          0
   timer:
     0          0
   timers:
     0           0
   triggertime:
     1637733600:
       localtime  1637733600
       hash:
   uiState:
   uiTable:
Attributes:
   alias      WohnzimmerEinWE.di
   room       nt+di
   uiState:
   uiTable:
Attributes:
   alias      WohnzimmerEinWE.di
   room       nt+di


matze1999

Damian

1) DOIF selbst erstellt keine at-Befehle
2) Hat eher etwas mit dem Device zu tun, als mit DOIF
3) Du brauchst das do always-Attribut
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Esjay

Zu 1). Leider zu wenig Infos, aber Damian hat's ja kurz und knapp beantwortet.
Zu 2). https://forum.fhem.de/index.php/topic,90023.0.html

Grüße

matze1999

Hallo,

Zitat von: Damian am 23 November 2021, 20:04:26
1) DOIF selbst erstellt keine at-Befehle
...

das scheint bei mir anders zu sein:

dieses DOIF:

Internals:
   CFGFN     
   DEF        ([08:23] and ( $month <= 1 || $month >= 11)) (set MQTT2_DVES_486458 on-till 08:30:00)
   FUUID      619de715-f33f-214e-7c67-f2d412d8ab5bbc8f
   MODEL      FHEM
   NAME       TestDOIF
   NOTIFYDEV  global
   NR         29175
   NTFY_ORDER 50-TestDOIF
   STATE      cmd_1
   TYPE       DOIF
   VERSION    24905 2021-09-01 18:35:54
   READINGS:
     2021-11-24 08:23:00   cmd             1
     2021-11-24 08:23:00   cmd_event       timer_1
     2021-11-24 08:23:00   cmd_nr          1
     2021-11-24 08:21:38   mode            enabled
     2021-11-24 08:23:00   state           cmd_1
     2021-11-24 08:23:00   timer_01_c01    25.11.2021 08:23:00
   Regex:
     accu:
     collect:
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          ::DOIF_time_once($hash,0,$wday) and ( $month <= 1 || $month >= 11)
   days:
   do:
     0:
       0          set MQTT2_DVES_486458 on-till 08:30:00
     1:
   helper:
     DEVFILTER  ^global$
     NOTIFYDEV  global
     event      timer_1
     globalinit 1
     last_timer 1
     sleeptimer -1
     timerdev   
     timerevent timer_1
     triggerDev
     timerevents:
       timer_1
     timereventsState:
       timer_1
     triggerEvents:
       timer_1
     triggerEventsState:
       timer_1
   interval:
   intervalfunc:
   localtime:
     0          1637824980
   realtime:
     0          08:23:00
   time:
     0          08:23:00
   timeCond:
     0          0
   timer:
     0          0
   timers:
     0           0
   triggertime:
     1637824980:
       localtime  1637824980
       hash:
   uiState:
   uiTable:
Attributes:
   alias      TestDOIF


erzeugt/erstellt folgendes at:

Internals:
   CFGFN     
   COMMAND    set MQTT2_DVES_486458 off
   DEF        2021-11-24T08:30:00 set MQTT2_DVES_486458 off
   FUUID      619de854-f33f-214e-645e-ec3ff96c0c283bba
   NAME       MQTT2_DVES_486458_till
   NR         29236
   PERIODIC   no
   RELATIVE   no
   STATE      Next: 08:30:00
   TIMESPEC   08:30:00
   TRIGGERTIME 1637739000
   TRIGGERTIME_FMT 2021-11-24 08:30:00
   TYPE       at
   VOLATILE   1
   READINGS:
     2021-11-24 08:23:00   state           Next: 08:30:00
Attributes:
   alias      MQTT2_DVES_486458_till


und im Log erscheint folgendes dazu:

2021.11.24 08:23:00 5: Starting notify loop for TestDOIF, 4 event(s), first is cmd_nr: 1
2021.11.24 08:23:00 5: End notify loop for TestDOIF
2021.11.24 08:23:00 5: alexa: read:   2021-11-24 08:23:00 caching: MQTT2_DVES_486458-state: set_on
2021.11.24 08:23:00 5: alexa: read: [24.11.2021, 08:23:00] [FHEM]     caching: On: 1 (as number; from 'set_on')
2021.11.24 08:23:00 5: Cmd: >jsonlist2 MQTT2_DVES_486458_till<
2021.11.24 08:23:00 5: Cmd: >attr MQTT2_DVES_486458_till alias MQTT2_DVES_486458_till<
2021.11.24 08:23:00 5: Starting notify loop for global, 1 event(s), first is ATTR MQTT2_DVES_486458_till alias MQTT2_DVES_486458_till
2021.11.24 08:23:00 4:   myBroker_192.168.1.175_65381 DVES_486458 PUBLISH stat/DVES_486458/RESULT:{"POWER1":"on"}
2021.11.24 08:23:00 5: myBroker: dispatch autocreate=simple\000DVES_486458\000stat/DVES_486458/RESULT\000{"POWER1":"on"}
2021.11.24 08:23:00 4: MQTT2_DEVICE_Parse: MQTT2_DVES_486458 stat/DVES_486458/RESULT => { json2nameValue($EVENT,'',$JSONMAP) }
2021.11.24 08:23:00 4:   myBroker_192.168.1.175_65381 DVES_486458 PUBLISH stat/DVES_486458/POWER1:on
2021.11.24 08:23:00 5: myBroker: dispatch [b][color=red]autocreate=simple\[/color][/b]000DVES_486458\000stat/DVES_486458/POWER1\000on
2021.11.24 08:23:00 4: MQTT2_DEVICE_Parse: MQTT2_DVES_486458 stat/DVES_486458/POWER1 => state
2021.11.24 08:23:00 5: Starting notify loop for MQTT2_DVES_486458, 1 event(s), first is on
2021.11.24 08:23:00 5: End notify loop for MQTT2_DVES_486458


Evtl erzeugt ein DOIF doch manchmal ein at?

matze1999

matze1999

Zitat von: Damian am 23 November 2021, 20:04:26
...
2) Hat eher etwas mit dem Device zu tun, als mit DOIF
...

Das ist klar, evtl. sollte ich die Punkte in separaten Threads behandeln:

ich habe kein Device (mehr) AussendekoAn und trotzdem erscheint im log regelmäßig:

2021.11.24 06:54:47 1: Error: >AussendekoAn< has no TYPE, but following keys: >READINGS<

wo kann ich suchen bzw. wie bekomme ich heraus, was das ist?

matze1999

Otto123

Hi,

zum letzteren: such mal so:
site:forum.fhem.de has no TYPE da gab es Lösungen...

Zum ersteren: on-till in deinem MQTT2_DVES_486458  erstellt offenbar ein at als Hilfskonstrukt.

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

matze1999

@Otto123,

in der fhem.save war das Teil noch drin.

Dabnke.

matze1999