Wie kommt die Info in den state?

Begonnen von der-Lolo, 24 März 2019, 20:23:40

Vorheriges Thema - Nächstes Thema

der-Lolo

Hallo Zusammen,
ich habe hier ein DOIF welches eigentlich für den Staubsaug-Roboter gedacht ist...
Hier mal ein List

Internals:
   DEF        ([Eichenheim] eq "abwesend" and [?Staubsauger:workDone] eq "0")
(set Staubsauger start)
DOELSEIF ([Staubsauger:history_0] eq ".*finished.cleaning" and [?$SELF] eq "cmd_1")
(setreading Staubsauger workDone 1)
DOELSEIF ([01:00|8]) (setreading Staubsauger workDone 0)



   FUUID      5c59298b-f33f-68f5-6c42-521086888c5c4c5d
   MODEL      FHEM
   NAME       DRmodeSwitch
   NR         193
   NTFY_ORDER 50-DRmodeSwitch
   STATE      telegram
   TYPE       DOIF
   VERSION    18706 2019-02-23 21:48:22
   Helper:
     DBLOG:
       cmd:
         DbLog:
           TIME       1553212800.00357
           VALUE      3
       cmd_event:
         DbLog:
           TIME       1553212800.00357
           VALUE      timer_1
       cmd_nr:
         DbLog:
           TIME       1553212800.00357
           VALUE      3
       state:
         DbLog:
           TIME       1553447234.73022
           VALUE      telegram
   READINGS:
     2019-03-24 20:18:12   Device          Eichenheim
     2019-03-22 01:00:00   cmd             3
     2019-03-22 01:00:00   cmd_event       timer_1
     2019-03-22 01:00:00   cmd_nr          3
     2019-03-24 20:18:12   e_Eichenheim_STATE zuhause
     2019-03-24 10:25:38   e_Staubsauger_history_0 2019-03-24 09:41:37: 44.84m² in 0.71h, finished cleaning
     2019-02-07 17:52:56   lastRun         2019-02-07 17:51:00: 0.00m² in 0.00h, not finished
     2019-03-07 09:32:26   mode            enabled
     2019-03-24 18:07:14   state           telegram
     2019-03-24 01:00:00   timer_01_c03    25.03.2019 01:00:00|8
   Regex:
     accu:
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          ::InternalDoIf($hash,'Eichenheim','STATE') eq "abwesend" and ::ReadingValDoIf($hash,'Staubsauger','workDone') eq "0"
     1          ::ReadingValDoIf($hash,'Staubsauger','history_0') eq ".*finished.cleaning" and ::InternalDoIf($hash,'DRmodeSwitch','STATE') eq "cmd_1"
     2          ::DOIF_time_once($hash,0,$wday,"8")
   days:
     0          8
   devices:
     0           Eichenheim
     1           Staubsauger
     all         Eichenheim Staubsauger
   do:
     0:
       0          set Staubsauger start
     1:
       0          setreading Staubsauger workDone 1
     2:
       0          setreading Staubsauger workDone 0
     3:
   helper:
     event      durTimerPresence_cr: 4961,durTimerPresence: 82:41:22
     globalinit 1
     last_timer 1
     sleeptimer -1
     timerdev   
     timerevent timer_1
     triggerDev Eichenheim
     DOIF_eventas:
       cmd_nr: 3
       cmd: 3
       cmd_event: timer_1
       state: cmd_3
     bm:
       DOIF_Get:
         cnt        4
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        24.03. 20:17:55
         max        3.00407409667969e-05
         tot        8.392333984375e-05
         mAr:
           HASH(0x8b4c378)
           DRmodeSwitch
           ?
       DOIF_Notify:
         cnt        799491
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        24.03. 19:31:11
         max        0.760765075683594
         tot        42.0727698802948
         mAr:
           HASH(0x8b4c378)
           HASH(0x6308aa8)
       DOIF_Set:
         cnt        25
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        24.03. 19:29:12
         max        0.000272989273071289
         tot        0.00190186500549316
         mAr:
           HASH(0x8b4c378)
           DRmodeSwitch
           ?
     timerevents:
       timer_1
     timereventsState:
       durTimerPresence_cr: 922
       durTimerPresence: 15:22:17
     triggerEvents:
       durTimerPresence_cr: 4961
       durTimerPresence: 82:41:22
     triggerEventsState:
       durTimerPresence_cr: 4961
       durTimerPresence: 82:41:22
   internals:
     0           Eichenheim:STATE
     1           DRmodeSwitch:STATE
     all         Eichenheim:STATE DRmodeSwitch:STATE
   interval:
   intervalfunc:
   itimer:
   localtime:
     0          1553472000
   perlblock:
   readings:
     1           Staubsauger:history_0
     all         Staubsauger:history_0
   realtime:
     0          01:00:00
   time:
     0          01:00:00
   timeCond:
     0          2
   timer:
     0          0
   timers:
     2           0
   trigger:
   triggertime:
     1553472000:
       localtime  1553472000
       hash:
   uiState:
   uiTable:
Attributes:
   room       01-Schlafzimmer


Ich verstehe nicht wieso das DOIF meint sich das Telegram Symbol als Icon holen zu müssen...

Wie kann das sein?


amenomade

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

der-Lolo

Es gibt aber doch keinen state Telegram in diesem DOIF.
Ausserdem auch kein dveStateIcon...

amenomade

Ja, warum state=telegramm kann ich mich auch nicht erklären.
Wahrscheinlich irgendwo anders gesetzt.

Mach mal ein set <dev> initialize und guck mal was dann passiert
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

der-Lolo

Das Icon verschwindet - der state wird initialize

Wieso nimmt das DOIF den state eines anderen DOIFs an..?

Liegt es vielleicht am kopieren mit copy..?

amenomade

Zitat von: der-Lolo am 24 März 2019, 20:43:55
Das Icon verschwindet - der state wird initialize

Wieso nimmt das DOIF den state eines anderen DOIFs an..?

Liegt es vielleicht am kopieren mit copy..?

Wenn Du die raw Definition inkl. setstate Befehle kopiert hast, dann ja.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

der-Lolo

nein, wenn dann kopiere ich mit dem fhem befehl copy...
ich bin zwar nicht sicher, glaube aber nicht das ich dieses DOIF überhaupt kopiert habe.

amenomade

Naja. Der DOIF hat das nicht selbst gemacht, es gibt dafür überhaupt keinen Grund (wie Du es schon gemerkt hast)
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus