Variable aus Child-Process wird nicht übernommen

Begonnen von Guest, 07 Dezember 2012, 13:42:15

Vorheriges Thema - Nächstes Thema

Guest

Originally posted by: <email address deleted>

Hallo Leute,

ich knabbere gerade an folgendem Problem:

Ich möchte nach Aktivierung eines webCmd den Status nach einer abgelaufenen
Zeit wieder neu setzen.

Dies hatte ich wie folgt vor:

Snippet fm 00_heizungen.cfg:

define m_fhts dummy
attr m_fhts alias Modus
attr m_fhts group Alle Heizungsregler
attr m_fhts room Heizungen,Einstellungen
attr m_fhts webCmd Tag:Nacht

define fht_setmode notify m_fhts { \
  if ( "$value{m_fhts}" eq "Nacht" ) {\
    my @@fhts=devspec2array("TYPE=FHT");; \
    foreach(@@fhts) { \
      my $cmd="set ".$_." desired-temp " .
ReadingsVal($_,"night-temp","18.0");;\
      fhem $cmd;;\
      Log 4, "sent cmd ".$cmd;;\
    } \
  } else {\
    my @@fhts=devspec2array("TYPE=FHT");; \
    foreach(@@fhts) { \
      my $cmd="set ".$_." desired-temp " .
ReadingsVal($_,"day-temp","20.5");;\
      fhem $cmd;;\
      Log 4, "sent cmd ".$cmd;;\
    } \
  }\
  my $pid = fork();; \
  if (defined $pid && $pid == 0) {\
    sleep(15);;\
    fhem("set m_fhts ready");;\
    exit 0;;\
  } \
}
attr fht_setmode room hidden

der Log-output sieht folgend aus:

2012.12.07 13:30:17 2: dummy set m_fhts Tag
2012.12.07 13:30:17 2: FHT set hz_bd desired-temp 20.5
2012.12.07 13:30:18 2: FHT set hz_ku desired-temp 21.0
2012.12.07 13:30:18 2: FHT set hz_kz desired-temp 21.0
2012.12.07 13:30:18 2: FHT set hz_sz desired-temp 20.0
2012.12.07 13:30:18 2: FHT set hz_wc desired-temp 19.5
2012.12.07 13:30:18 2: FHT set hz_wz desired-temp 20.5
2012.12.07 13:30:33 2: dummy set m_fhts ready

dem Log nach wird das Device also gesetzt aber ...

fhem> list m_fhts
Internals:
   CFGFN      00_heizungen.cfg
   NAME       m_fhts
   NR         100
   STATE      Tag
   TYPE       dummy
   Readings:
     2012-12-07 13:30:17   state           Tag
Attributes:
   alias      Modus
   group      Alle Heizungsregler
   room       Heizungen,Einstellungen
   webCmd     Tag:Nacht

Ich weiss nicht weiter ... wer kann mir helfen?


Greets ... Peedy

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Das Problem wurde gelöst ...

wen es interessiert:

ich habe das Problem mit "at" behoben.
Hab auch gleich aufgeräumt und die Funktionen in 99_myUtils.pm verlagert.
... und zu guter letzt noch den "Auto-Mode" für die FHTs hinzugefügt
(angelehnt an CodeSnippets:"FHT80b Automatik setzen<http://www.fhemwiki.de/wiki/FHT80b_Automatik_setzen>
"

Auszug aus der config:

define m_fhts dummy
attr m_fhts alias Modus
attr m_fhts group Alle Heizungsregler
attr m_fhts room Heizungen,Einstellungen
attr m_fhts webCmd Tag:Nacht:Auto

define fht_setmode_d notify m_fhts:Tag { \
  ctrl_fhts("Tag");;\
  fhem("define fht_setmode_at1 at +00:00:30 set m_fhts ready");;\
}
attr fht_setmode_d room hidden

define fht_setmode_n notify m_fhts:Nacht { \
  ctrl_fhts("Nacht");;\
  fhem("define fht_setmode_at2 at +00:00:30 set m_fhts ready");;\
}
attr fht_setmode_n room hidden

define fht_setmode_a notify m_fhts:Auto { \
  ctrl_fhts("Auto");;\
  fhem("define fht_setmode_at3 at +00:00:30 set m_fhts ready");;\
}
attr fht_setmode_a room hidden


Bis denne ... Peedy

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com