Hauptmenü

Kein cmdState für "Übersicht"?

Begonnen von chq, 20 Oktober 2018, 11:16:41

Vorheriges Thema - Nächstes Thema

chq

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
So einfach wie möglich, so kompliziert wie nötig

Ellert

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.

chq

Jeah. Damit ging's:

attr doif_rolloEZhandlerPerl [$name:doifState]

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

Gruß Chris
So einfach wie möglich, so kompliziert wie nötig