FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: chq am 20 Oktober 2018, 11:16:41

Titel: Kein cmdState für "Übersicht"?
Beitrag von: chq am 20 Oktober 2018, 11:16:41
Hallo,

ich habe hier ein Perl-Modus-DOIF, das mir in der Übersicht (Everything -> DOIF) das Reading "doifState" anzeigen soll. Momentan steht da permanent "initialized", was mir wenig/nichts bringt. Leider kann ich für dieses Device das Attribut cmdState nicht auswählen. Bei meinen anderen, nicht Perl-Modus-basierten DOIF-Devices, ist cmdState auswählbar.

Was kann ich tun, um mir das Reading "doifState" trotzdem anzeigen lassen zu können?

Gruß Chris

Edit: Hier ein List des entspr. Devices:

Internals:
   DEF        ## {if([10:00]) {fhem("set HM_rolloEsszimmer pct 10")}} ## schlecht
## {if([10:00]) {fhem_set("HM_rolloEsszimmer pct 10")}} ## gut
## {if([10:00]) {set_Reading("doifState","fhemCmd")}} ## Reading im selben Device ändern

{if (fhem("uptime raw") > 10 ) ## Mit Versatz starten, um eintreffende Meldungen der CCU2 zu ignorieren
{

{if([":fhemCmd"] or ([HM_rolloEsszimmer:""] and [?HM_rolloEsszimmer:state] eq "closed")) ## Bei fhemCmd, oder wenn morgens händisch erstmalig am Tag der Rollo betätigt wird
{set_Reading("doifState","running");
set_Exec("fhemCmdTimer",40,'set_Reading("doifState","idle")')}} ## def. Zeit das doifState auf fhemCmd setzen.

{if([HM_rolloEsszimmer:""] and get_Reading("doifState") eq "idle" and [?twilight:azimuth] >= "202") {set_Reading("doifState","sonnenstDisabled");
fhem_set("doif_sonnenstand disable")}}

{if([23:59]) {set_Reading("doifState","idle");
fhem_set("doif_sonnenstand enable")}} ## Um 23:59 Uhr: doif_sonnenstand aktivieren, da um 0:00 Uhr doif_sonnenstand innerhalb von doif_sonnenstand auf "idle" zurückgesetzt wird.
}
}
   MODEL      Perl
   NAME       doif_rolloEZhandlerPerl
   NR         75
   NTFY_ORDER 50-doif_rolloEZhandlerPerl
   STATE      initialized
   TYPE       DOIF
   READINGS:
     2018-10-20 10:32:39   Device          HM_rolloEsszimmer
     2018-10-20 10:32:39   block_01        executed
     2018-10-20 10:33:12   doifState       idle
     2018-10-20 10:32:39   e_HM_rolloEsszimmer_events 1.WORKING: no,1.DIRECTION: none,hmstate: open
     2018-10-20 09:41:59   mode            enabled
     2018-10-20 09:41:59   state           initialized
     2018-10-20 09:41:59   timer_01_c01    20.10.2018 23:59:00
   Regex:
     cond:
       :
         0:
           ":fhemCmd" :fhemCmd
   condition:
     0          if (fhem("uptime raw") > 10 )  {

{if(::EventDoIf('',$hash,'fhemCmd',0) or (::EventDoIf('HM_rolloEsszimmer',$hash,'',1) and ::ReadingValDoIf($hash,'HM_rolloEsszimmer','state') eq "closed"))  {set_Reading("doifState","running");
set_Exec("fhemCmdTimer",40,'set_Reading("doifState","idle")')}} 
{if(::EventDoIf('HM_rolloEsszimmer',$hash,'',1) and get_Reading("doifState") eq "idle" and ::ReadingValDoIf($hash,'twilight','azimuth') >= "202") {set_Reading("doifState","sonnenstDisabled");
fhem_set("doif_sonnenstand disable")}}

{if(::DOIF_time_once($hash,0,$wday)) {set_Reading("doifState","idle");
fhem_set("doif_sonnenstand enable")}}  }

   days:
   devices:
     0           HM_rolloEsszimmer
     all         HM_rolloEsszimmer
   helper:
     event      1.WORKING: no,1.DIRECTION: none,hmstate: open
     globalinit 1
     last_timer 1
     sleeptimer -1
     triggerDev HM_rolloEsszimmer
     triggerEvents:
       1.WORKING: no
       1.DIRECTION: none
       hmstate: open
     triggerEventsState:
       1.WORKING: no
       1.DIRECTION: none
       hmstate: open
   internals:
   intervalfunc:
   itimer:
   localtime:
     0          1540072740
   perlblock:
     0         
   ptimer:
     fhemCmdTimer:
       name       fhemCmdTimer
       subname    set_Reading("doifState","idle")
       time       1540024392.20042
       hash:
   readings:
   realtime:
     0          23:59:00
   time:
     0          23:59:00
   timeCond:
     0          0
   timer:
     0          0
   timers:
     0           0
   trigger:
     all         HM_rolloEsszimmer
   triggertime:
     1540072740:
       localtime  1540072740
       hash:
   uiState:
   uiTable:
Attributes:
   alias      doif_Rollo Esszimmer Perl
Titel: Antw:Kein cmdState für "Übersicht"?
Beitrag von: Ellert am 20 Oktober 2018, 11:37:56
ZitatWas kann ich tun, um mir das Reading "doifState" trotzdem anzeigen lassen zu können?

Das Reading mit uiTable oder stateFormat anzeigen lassen oder state parallel setzen.
Titel: Antw:Kein cmdState für "Übersicht"?
Beitrag von: chq am 20 Oktober 2018, 12:35:26
Jeah. Damit ging's:

attr doif_rolloEZhandlerPerl [$name:doifState]

Was auch hilfreich war: https://forum.fhem.de/index.php?topic=47186.0 (https://forum.fhem.de/index.php?topic=47186.0)

Gruß Chris